在python中有一些有意思的内置函数,例如map()、filter()、reduce()函数,总结一下加深理解。
-
lambda关键字
-
map函数
-
filter函数
-
sorted函数
-
zip函数
以上四种函数均返回的是对象,需在外面加list并print才能显示
一、lambda表达式:匿名函数
原文地址:https://www.cnblogs.com/hf8051/p/8085424.html
-
lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。
-
lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lambda就有点过于本末倒置了。
-
lambda就是用来定义一个匿名函数的,如果还要给他绑定一个名字的话,就会显得有点画蛇添足,通常是直接使用lambda函数
表达形式: lambda param1,…:return_value
和param相当于定义函数 时候传入的形参,return_value相当于return后面的值
1、应用在函数式编程中
像map、reduce、sorted、filter函数都支持函数作为参数,可以在其中嵌套使用,非常清晰明了。
# 需求:将列表中的元素按照绝对值大小进行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))
当然,也可以如下:
list1 = [3,5,-4,-1,0,-2,-6]
def get_abs(x):
return abs(x)
sorted(list1,key=get_abs)
只不过这种方式的代码看起来不够Pythonic
2、应用在闭包中
def get_y(a,b):
return lambda x:ax+b
y1 =