内置函数分类 :  http://naotu.baidu.com/file/f8c2b1c8d9c82cf5850384a2b341f1a0?token=d11b1f5df40350a9

 

匿名函数:匿名函数统一的名字是:<lambda>

fn = lambda a, b : a + b # 定义一个很简单的函数. 复杂的函数不要用lambda
ret = fn(3, 5)
print(ret) # 8


使用场景: 配合着sorted, map, filter 一起使用

sorted() : 函数对所有可迭代的对象进行排序操作

sort() 跟sorted()区别: sort() 是在原list上进行排序,没有返回值;  sorted() 是返回一个新的list,不在原list上进行操作.

lst = [\"胡一菲\", \"张伟\", \"关谷神奇\", \"曾小贤吕小布\", \"诺澜\"]
def func(s):
    # print(s) # 列表中的每一个元素
    return len(s)
s = sorted(lst, key=func) # 默认为升序,  将reverse=True是降序
print(s) # [\'张伟\', \'诺澜\', \'胡一菲\', \'关谷神奇\', \'曾小贤吕小布\']

map() : 会根据提供的函数对指定序列做映射.

name=[\'oldboy\',\'alex\',\'wusir\']
name = map(lambda el:el+\'_123\', name)
print(list(name)) # [\'oldboy_123\', \'alex_123\', \'wusir_123\']

filter() : 过滤, 过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

# 过滤掉小于20的
shares={
       \'IBM\':36.6,
       \'Lenovo\':23.2,
      \'oldboy\':21.2,
    \'ocean\':10.2,
    }
f = filter(lambda k :shares[k]>20 , shares)
print(list(f)) # [\'IBM\', \'Lenovo\', \'oldboy\']

 

收藏 打印