1、lambda——为了减少单行函数的定义而存在的
返回函数对象,经常与其余四个内置函数一起使用
func = lambda x: x+1
||#相同
def func(x): return x+1
func(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]) = 25
reduce(lambda x,y: x+y, [1, 3, 5, 7, 9], 100) = 125