-
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函数中,若为真,则保留该值,否则删除该值;