python常用的三个高阶函数
- map(func,list):将传入的函数变量func做到到list变量中的每一个元素中,并返回一个迭代器。
list1 = [1,2,3,4,5,6]
def func(x):
"返回二次方"
return x**2
result = map(func,list1)
print(result)
print(list(result))
- reduce(func,list):其中func必须有两个参数,每次func计算的结果继续和序列的下一个元素做累积计算。
import functools
list1 = [1,2,3,4,5]
def func(a,b):
return a+b
result = functools.reduce(func,list1)
print(result)
- filter(func,list):用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象。如果需要转换为列表,可以用list()来转换。
list1 = [1,2,3,4,5,6,7,8,9,10]
def func(x):
return x % 2 == 0
print(result)
print(list(result))