一、python中的lambda匿名函数
格式:lambda [arguments] : [return]
例如:g = lambda x : x**2g(3) = 9
二、python中的map
map函数会根据提供的函数对指定序列做映射
格式:map(function, sequence [, sequence,...]) 返回值:sequence(与map中序列类型相同)
当参数为多个序列时,函数中参数的个数需与序列的个数相匹配。map将依次以每个序列中相同位置的元素做参数调用function函数。
当函数为None时,操作与zip相似。
例如:map(lambda x:x**2, [1,2,3,4]) 返回值:[1,4,9,16]
map(lambda x,y : x+y, [1,2,3,4] [5,6,7,8])返回值:[6,8,10,12]
map(None, [1,3,5,7] [2,4,6,8])返回值:[(1,2),(3,4),(5,6),(7,8)]
三、python中的filter
格式:filter(function or None, sequence)返回值:sequence
function是一个谓词函数,接收一个参数,返回布尔值,filter会将序列中依次作为参数传递到function,返回布尔值为真的,则被保存为一个序列返回。
例如:filter(lambda x:x&1, [1,2,3,4,5,6,7,8])返回值:[2,4,6,8]
当function为None时,则将sequence原样返回。
四、python中的reduce
格式:reduce(function, sequence [, initial])
reduce函数会对参数序列中元素进行累积
例如:reduce(lambda x,y:x+y, [2,3,4,5,6], 1)返回值:(1+2)+3)+4+5+6 = 21