匿名函数(lambda)
一、匿名函数作用是简化书写,格式为lambda X:X**2,X为入参,X**2为函数体,翻译成函数即为如下:
def fun(X):
return X**2
二、常与匿名函数搭配的内置函数:map、reduce、filter、sorted
sorted:可对所有可迭代对象进行排序,返回1个新列表,原数据不变;sort只能对list进行排序,并且会改变原始列表,没有返回值
dict1 = {"a":2, "b":1, "c":5, "d":4, "e":3, "f":7, "g":9, "h":8}
list1 = sorted(dict1.items(), key=lambda item: item[1], reverse=True)
print(list1)
map:循环可迭代对象,执行匿名函数
res1 = list(map(lambda x: x**2, [i for i in range(5)]))
print(res1)
filter:循环可迭代对象,执行匿名函数进行过滤
res2 = list(filter(lambda x: x >= 2, [i for i in range(5)]))
print(res2)
reduce:循环可迭代对象,对数据进行累积
from functools import reduce
res = reduce(lambda x, y: x*y, [i for i in range(1, 5)])
print(res)