map是映射、reduce是聚合,filter是筛选
map()方法会将一个函数映射到序列的每一个元素上,生成新序列,包含所有函数返回值。
也就是说序列里每一个元素都被当做x变量,放到一个函数f(x)里,器结果是f(x1),f(x2),f(x3)。。。。
reduce的工作过程是:在迭代的过程中,首先把前俩个元素(只能俩个)传给函数,函数加工后,然后把得到的结果和第三个元素作为俩个参数传递给函数参数,函数加工后得到的结果又和第四个元素作为俩个参数喜欢递给参数,以此类推。
from functools import reduce #reduce a=reduce(lambda x,y: x+y,[1,2,3,4]) print(a) #map list1 = [1,2,3,4] list2 = [5,6,7,8] b=list(map(lambda x,y: x + y,list1,list2)) print(b) numbers = range(-4,4) c=list(filter(lambda x: x > 0,numbers)) print(c) d=list(filter(lambda x: x != 'o','guaguaok')) print(d)
输出结果:
10 [6, 8, 10, 12] [1, 2, 3] ['g', 'u', 'a', 'g', 'u', 'a', 'k'] Process finished with exit code 0



