python中 map(),reduce(),filter()函数

  • map() :

map( function, iterable)
python3返回一个对象,可用list()强制返回为列表

  • reduce():

reduce(function, iterable[, initializer])
initializer -- 可选,初始参数
返回函数计算结果

  • filter():

filter(function, iterable)
python3返回一个对象,可用list()强制返回为列表

function -- 判断函数。
iterable -- 可迭代对象


这三个函数都有着可以替代for循环的作用;

map()使用如下:
def add(x):
    return x + x
res = list(map(add,[1,2,3]))
print(res) #输出 [2,4,6]

将序列的每一个值分别传入add函数中,返回值替代原始值


reduce()使用如下:
import functools
def add(x,y):
    return x+y
#未使用初始参数
res = functools.reduce(add,[1,2,3,4,5])
#令初始参数为4
res1 = functools.reduce(add,[1,2,3,4,5],4)
print(res) # 15
print(res1) #19

res=15; 未使用初始参数,则默认为0,计算过程为:0+1+2+3+4+5=15
res1=19; 令初始参数为4,则计算过程为:4+1+2+3+4+5=19

filter()使用如下:
def judge(x):
    return x>3
res = list(filter(judge,[1,2,3,4,5,6,7]))
print(res)

将序列的每一个值分别传入judge函数中,若为真,则保留该值,否则删除该值;

你可能感兴趣的:(python中 map(),reduce(),filter()函数)