创建一个匿名函数
>>> f = lambda a, b, c: a * b + c >>> f(3,4,5) 17匿名函数,函数内只能有一个表达式,不用写return,返回值就是该表达式的结果。a,b,c是接收的参数,a*b+c就是函数的返回结果。
返回my_list中符合过滤规则lambda x: x > 5的子集。
将函数作用到my_list的每个元素。
>>> new_list = [-4, 3, 2, -6, 5] >>> map(lambda x, y: x + y, my_list, new_list) [-3, 8, 9, 2, 16]可以接收多个list,2个以上的以此类推
用给定的函数lambda a, b: a * b迭代处理my_list参数,得到一个值。
def func(x, y): print (x, y) return x + y my_list = [1,2,3] print 'result = %s' % reduce(func, [1,2,3]) (1, 2) (3, 3) result = 6初始使用my_list中的前两个元素计算: 1+2,得到结果3 再使用上一部的结果3和下一个元素3再计算:3+3,得到结果6
def func(x, y): print (x, y) return x + y my_list = [1,2,3] print 'result = %s' % reduce(func, [1,2,3], 10) (10, 1) (11, 2) (13, 3) result = 16也可以指定初始迭代值,如果有这个参数,那么第一个的计算就是10+1。
参考: Understanding Filter, Map, And Reduce In Python