lambda 匿名函数


lamdba的基础用法是:
lambda arguments : expression
示例:

add = lambda x,y:x+y
print(add(1,2)) # 3
知识兔

在lambda x, y : x + y中,x和y是函数的参数,x+y是表达式,它被执行并返回结果。
lambda x, y : x + y返回的是一个函数对象,它可以被赋值给任何变量。
可与python数据处理函数map()、reduce()、filter() 搭配使用


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

# 取绝对值
data = [-1, 2, -3, 4, -5]
new_data = map(lambda x:abs(x), data)
print(list(new_data))
知识兔
# 求和data = [-1, 2, -3, 4, -5]data1 = [1, -2, 3, -4, 5]new_data = map(lambda x,y:x+y, data,data1)print(list(new_data))

reduce()函数会对参数序列中元素进行累积
示例:

from functools import reducedata = [1,2,3,4]print(reduce(lambda x,y: x+y, data))# 计算过程# 1 + 2 = 3# 3 + 3 = 6# 6 + 4 = 10
from functools import reducedata = [1,2,3,4]print(reduce(lambda x,y: x+y, data, 5))# 计算过程# 5 + 1 = 6# 6 + 2 = 8# 8 + 3 = 11# 11 + 4 = 15


filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
示例:

data = [1,2,3,4]print(list(filter(lambda x: x>3, data)))
计算机