python内置函数lambda、filter、map、reduce

来源:互联网 发布:各种排序算法 编辑:程序博客网 时间:2024/05/19 12:39

1、lambda——为了减少单行函数的定义而存在的
返回函数对象,经常与其余四个内置函数一起使用

func = lambda x: x+1||#相同def func(x): return x+1func(1)=2

2、filter——filter(function, sequence)
sequence中的每一项执行function过滤,所以function需要返回True/False

# 对于[2,3,4,5]中的每一项,执行lambda x: x%2==0,判断是否为偶数,输出偶数项。filter(lambda x: x%2==0, range(2,6)) = [2, 4]

3、map——map(function, sequence)
sequence中的每一项执行function方法,返回列表

# 对于"abc"中的每一项,执行加法,输出。map(lambda x: x+x, "abc") = ['aa', 'bb', 'cc']map(lambda x: x+x, (1,2,3)) = [2, 4, 6]map(lambda x, y: x*y, [1, 2, 3], [4, 5, 6]) = [4, 10, 18]# func为None时,下边这两个效果是一样的。map(None, [1, 2, 3], [4, 5, 6]) = [(1, 4), (2, 5), (3, 6)]zip([1, 2, 3], [4, 5, 6]) = [(1, 4), (2, 5), (3, 6)]

4、reduce——reduce(function, sequence [, init])
sequence中的每一项迭代执行function方法,init为初始值,可以省略。所以function需要有两个参数~~~

reduce(lambda x,y: x+y, [1, 3, 5, 7, 9]) = 25reduce(lambda x,y: x+y, [1, 3, 5, 7, 9], 100) = 125
原创粉丝点击