码迷,mamicode.com
首页 > 其他好文 > 详细

lambda 匿名函数

时间:2019-10-09 17:32:54      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:argument   求和   too   用法   根据   元素   计算过程   函数的参数   reduce   


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 匿名函数

标签:argument   求和   too   用法   根据   元素   计算过程   函数的参数   reduce   

原文地址:https://www.cnblogs.com/1-zjh/p/11642939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!