map,reduce,filter的总结(reduce还有点不懂,一会自己再看看)

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)

  

猜你喜欢

转载自www.cnblogs.com/yxzymz/p/12739657.html