zoukankan      html  css  js  c++  java
  • python中重要的内置函数

    all判断是否有bool值为False

    1 print(all(['a','',123]))
    2 #False

    #any判断是否有bool值为True

    1 print(any(['a','','']))
    2 # True

    zip,拉链,不止拉两个,可以拉多个

     1 l1 = [1,2,3,'ef','rf',6]
     2 l2 = ['ew','d',4]
     3 l3 = ['fsd',23,43,43,23]
     4 print(zip(l1,l2,l3))
     5 for i in zip(l1,l2,l3):
     6     print(i)
     7 # <zip object at 0x05846738>
     8 # (1, 'ew', 'fsd')
     9 # (2, 'd', 23)
    10 # (3, 4, 43)

    filter函数

    筛选数字

     1 def is_odd(x):
     2     return  x % 2 == 1
     3 
     4 ret = filter(is_odd, [1,2,3,4,5,6])        #注意这里仅仅用函数的名字
     5 print(ret)
     6 for i in ret:
     7     print(i)
     8 # <filter object at 0x057D5270>
     9 # 1
    10 # 3
    11 # 5

    筛选字符串

    1 def is_str(x):
    2     return type(x) == str
    3 
    4 ret = filter(is_str, [123,'23dwedc','rewqrrr1',12341])
    5 for i in ret:
    6     print(i)
    7 # 23dwedc
    8 # rewqrrr1

    筛选去除空的

    1 def is_none(s):
    2     return s and str(s).strip()
    3 ret = filter(is_none,[31,'asdf','sdfsad','','    ',[],234])
    4 for i in ret:
    5     print(i)
    6 # 31
    7 # asdf
    8 # sdfsad
    9 # 234

    过滤1-100中平方根是整数的数

     1 import math
     2 def is_int(x):
     3     return math.sqrt(x) % 1 == 0
     4 
     5 ret = filter(is_int,range(1,101))
     6 for i in ret:
     7     print(i)
     8 
     9 # 1
    10 # 4
    11 # 9
    12 # 16
    13 # 25
    14 # 36
    15 # 49
    16 # 64
    17 # 81
    18 # 100

    map函数

    1 ret = map(abs,[1,-4,6,-8])
    2 for i in ret:
    3     print(i)
    4 # 1
    5 # 4
    6 # 6
    7 # 8

    sorted:在列表不大和想保留原来的数据顺序的时候用

     1 l = [1, -4, 6, 5, -10]
     2 l.sort()
     3 print(l)
     4 # [-10, -4, 1, 5, 6]
     5 
     6 
     7 l = [1, -4, 6, 5, -10]
     8 l.sort(key = abs)
     9 print(l)
    10 # [1, -4, 5, 6, -10]
    11 
    12 l = [1, -4, 6, 5, -10]
    13 print(sorted(l))      #sorted(l,key = abs,reverse=True)
    14 print(l)
    15 # [-10, -4, 1, 5, 6]
    16 # [1, -4, 6, 5, -10]
    17 
    18 #根据列表内的元素长度来排序
    19 l = ['   ', [1,2], 'hello world']
    20 new_l  = sorted(l,key=len)        #可以给一些函数
    21 print(new_l)
    22 # [[1, 2], '   ', 'hello world']

    匿名函数

    1 def add(x,y):
    2     return x + y
    3 
    4 # 变为匿名函数
    5 func = lambda x,y:x+y
    6 print(func(44,22))
    7 # 66

    筛选字典里面值最大的value对应的key

     1 dic = {'key1':2, 'key2':3, 'key3':6}
     2 def func(key):
     3     return dic[key]
     4 
     5 print(max(dic,key=func))
     6 # key3
     7 
     8 dic = {'key1':2, 'key2':3, 'key3':6}
     9 print(max(dic,key=lambda k:dic[k]))
    10 # key3

    带有key的内置函数:min max filter map sorted 都可已和lambda合用

    面试题1:用lambda将(('a'), ('b'))(('c'), ('d'))转变成[{'a':'c'},{'b':'d'}]

    1 ret = zip((('a'), ('b')),(('c'), ('d')))
    2 print(list(map(lambda tup:{tup[0]:tup[1]},ret)))
    3 
    4 # [{'a': 'c'}, {'b': 'd'}]

    面试题2:给出答案并解释

    1 def multipliers():
    2     return  [lambda  x:i*x for i in range(4)]
    3 print([m(2) for m in multipliers()])
    4 
    5 # [6, 6, 6, 6]
  • 相关阅读:
    Android应用查看本地数据库
    C#导出和导入Excel模板功能
    数据库事务的四种隔离模式
    .NET进阶篇-丑话先说,Flag先立--致青春
    博客的第一天:回顾半年前的基础:SQL--基础查询+年月日格式+拼接
    【MySQL】你以为设置了并行复制就降低延迟了?这个你绝对想不到!
    中秋的月亮
    细看国产数据库,从根上知道如何学习?
    开篇2019
    Mysql学习笔记整理之数据库优化
  • 原文地址:https://www.cnblogs.com/rcat/p/9427808.html
Copyright © 2011-2022 走看看