\匿名函数不必通过
极好的
声明一个函数,但是通过
希腊字母的第11个
由关键字定义的函数变成匿名的。
语法
参数:表达式
该函数可以接收任意数量(0)的参数,但只能返回表达式的值。lambda function是一个函数对象,直接赋给变量就成了函数对象。
当需要将函数作为对象传递时,可以直接定义一个。
希腊字母的第11个
功能。
例如,匿名函数作为对象分配给变量。
# No参数lambda _ a=lambda:100 print(lambda _ a())# 100 #一个参数lambda _ b=lambda num:num * 10 print(lambda _ b(5))# 50 #多个参数lambda _ c=lambda a a,b,c,D: a b c d print (lambda _ c (1,2,3,4)) # 10 #表达式分支lambda _ D=lambda x:x if x % 2==0 eelse x 1 print(lambda _ D(6))# 6 print(lambda _ D(7))
映射(函数,可迭代,)参数
函数可执行函数
可迭代的一个或多个序列
返回值
Python 2.x返回一个列表
Python 3.x返回迭代器
用法示例
List (map (lambda x: x * 2,[1,2,3])#[2,4,6] list (map (lambda x,y: x y,[1,2,3,4],[5,6,7,8])#[6]但是,map比自己写的for循环有性能优势(比for循环快)。对于n个序列,map也可以将n个序列对应的元素作为n个参数传入可执行函数。
内置的filterfilter()函数用于过滤序列,过滤不合格的元素,并返回一个迭代器对象。
语法
过滤器(函数,可迭代)参数
函数过滤器执行函数
可迭代对象
返回值
返回一个iterable对象。
List (filter (lambda x,x2,[1,2,3,4]) # [3,4] list (filter (lambda x,x% 2==1,[1,2,3,4])#[1,3]内置函数reduce函数将检查参数
该函数对数据集(链表、元组等)中的所有数据执行以下操作。):先用传递来的函数(带两个参数)对集合中的第一个和第二个元素进行运算,再用函数function用第三个数据计算结果,最后得到一个结果。
语法
functools导入的参数reduce reduce(函数,iterable [,初始值设定项])
功能-判断功能。
Iterable -一个可迭代的对象。
返回值
返回函数计算的结果。
reduce(lambda x,y: x y,[1,2,3,4,5]) #15