微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python lambda 介绍

 

 

func_1=lambda x:x+1
print(func_1(3))
#4
print(func_1(7))
#8

#lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为:
def func_1(x):
    return (x+1)

也可以这样使用:

lambda x:x+1(3)
# 4

 

from functools import reduce
foo = [1, 2, 3, 4, 5]

## 过滤数据,保留能被2整除的数值
print (list(filter(lambda x: x % 2 == 0, foo))) #[2, 4]
## 输入参数都乘以3 print (list(map(lambda x: x * 3 , foo))) #[3, 6, 9, 12, 15]
## 输入参数求累加和 print (reduce(lambda x, y: x + y, foo)) #15

 

其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。

foo = [1, 2, 3, 4, 5]

## 过滤数据,保留能被2整除的数值
print( [x for x in foo if x % 2 == 0] )

## 输入参数都乘以3
print( [x*3 for x in foo] )

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐