1、map
用法:map(f,L) f为一个函数(允许自定义,也可以模块中自带),L为一个列表(list),或者是元组(tuple)
意义:map将L中的每个元素调用函数f,得到每个元素的映射
例如:
#定义一个阶乘函数
def fact(n):
if n==1:
return 1
else:
return n*f(n-1)
L=list(range(1,10))
answer=list(map(fact,L))
2、ruduce
reduce用法和map相似,都是传入两个参数,但是有很大的区别
用法:reduce(f,L) 此时的函数f在定义的时候要传入两个参数x,y,L和map中的没有区别。
意义:reduce是将函数作用在序列L上,本次作用的结果作为下次作用的一个输入参数
例如:
#将一组数字1,2,3变成数123
from functools import reduce
def f(x,y):
return 10*x+y
reduce(f,[3,4,5])
说明:注意map和ruduce在函数的种类上的不同,以及函数的运行方式不同