python-lambda、filter、reduce、map

python-lambda、map、filter、reduce

lamdba

python关键字,用于在表达式中创建匿名函数。

注意:lambda函数的定义体只能用纯表达式,不能赋值,不能使用while和try等语句。

lamdba的语法

lambda [arg1 [, arg2,......argn]]:expression

lambda 参数列表:return expression

lambda返回一个函数对象

栗子1

将lambda创建的匿名函数赋值给一个变量

squares = lambda x: x**2
squares(3) #9

栗子2

将lambda创建的匿名参数作为函数参数

应用场景:

在参数列表中使用lambda创建匿名函数,

作为参数传递给高阶函数外,python很少使用匿名函数。

map()

map函数接收两个参数

第一个参数为函数

第二个参数为一个可迭代的对象

map函数返回一个可迭代的map对象,对象中的每一个元素是第一个参数(函数)fn作用到第二个参数(一个可迭代对象)中各个元素得到的结果

filter()

第一个参数为函数或None

第二个参数为一个可迭代的对象

filter函数返回一个可迭代的filter对象

filter函数用于过滤迭代对象中不符合条件的元素

可迭代对象(第二个参数)中的每个元素都传递给函数(第一个函数),返回为True的元素将作为新的元素放到filter函数的返回对象中

reduce()

猜你喜欢

转载自www.cnblogs.com/marton/p/10687379.html