python中filter,reduce,map的用法
Posted snail-yellow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中filter,reduce,map的用法相关的知识,希望对你有一定的参考价值。
filter的用法:
操作表list的内嵌函数
‘filter‘ 需要一个函数与一个list
它用这个函数来决定哪个项应该被放入过滤结果队列中
遍历list中的每一个值,输入到这个函数中
如果这个函数返回True, 那么值就放到过滤结果队列中去
如果这个函数返回 False,那么这个值就会被跳过
def pick_num(x):
if x%3==0:
return x
r=[2,4,6,8,10]
result=list(filter(pick_num,r))
reduce用法:
操作表list的内嵌函数
‘reduce‘ 需要一个函数与一个list作为参数
它把该list最终压缩成一个值
函数必须有两个参数作为输入,返回一个值作为输出
‘reduce’ 首先对这个list的头两个元素应用这个函数
然后是对返回值以及list的下一个元素继续应用该函数
以此类推,直到整个list中的值都被遍历到
from functools import reduce
def sum(x, y): return x+y
r=list(range(10))
result=reduce(sum,r)
print result
map用法:
操作表list的内嵌函数
‘map‘需要一个函数与一个list作为参数
这个函数限定为只有一个参数输入一个返回输出
这个函数要依次作用到这个list上的每一个元素
结果作为一个表list返回
def AddSelf(x):return x+1
r=list(range(10))
result=map(AddSelf,r)
print result
以上是关于python中filter,reduce,map的用法的主要内容,如果未能解决你的问题,请参考以下文章
Python 之内置函数:filter、map、reduce、zip、enumerate
Python高阶函数_map/reduce/filter函数