匿名函数(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)
posted @ 2021-06-16 14:25  只管去做-王炸  阅读(831)  评论(0)    收藏  举报