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

Posted yxzymz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

  

以上是关于map,reduce,filter的总结(reduce还有点不懂,一会自己再看看)的主要内容,如果未能解决你的问题,请参考以下文章

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

JavaScript高阶函数 map reduce filter sort

lambda&filter&map&reduce函数的基本使用

20170711_map/reduce

map/reduce函数式编程培训

Python基础篇第2篇: Python内置函数--map/reduce/filter/sorted