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] )

 

posted @ 2021-01-29 10:04  emanlee  阅读(399)  评论(0)    收藏  举报