lambda 匿名函数
Posted 1-zjh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 reduce
data = [1,2,3,4]
print(reduce(lambda x,y: x+y, data))
# 计算过程
# 1 + 2 = 3
# 3 + 3 = 6
# 6 + 4 = 10
from functools import reduce
data = [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)))
以上是关于lambda 匿名函数的主要内容,如果未能解决你的问题,请参考以下文章