map:处于处理一个序列,将序列中的每个元素进行处理,得到一个可迭代器,这个可迭代器可以通过list()转换成列表。改列表元素个数与位置与原来相同。

   map可以处理任何一个可迭代的对象。

filter:遍历序列中的每一个元素,判断每一个元素,得到一个布尔值,如果为true,则把这个东西留下来,放进可迭代器中。这个可迭代器也可以转换成列表。

 例:

people=[
    {"name":"alex","age":1000},
    {"name":"wupeiqi","age":10000},
    {"name":"lin","age":18}
]
res=filter(lambda x:x["age"]<100,people)       #将序列中的元素进行遍历,通过筛选留下来
print(list(res))
#输出结果为[{'name': 'lin', 'age': 18}]

  

reduce:处理一个序列,把序列进行合并后进行操作,最终得到一个值

from functools import reduce
res=reduce(lambda x,y:x+y,range(1,101))      #操作对象是range(1,101)  
print(res)

  

from functools import reduce
name=[1,2,3,4,5]
def aaa(x,y):
    return x*y
def multi(aaa,array):
    abc=1
    for i in array:
        abc=aaa(abc,i)
    return abc
print(multi(aaa,name))
c=reduce(aaa,name)           #这里面的aaa和匿名函数是一样的
print(c)