高阶函数
定义:一个函数作为参数传入另一个函数,或者一个函数的返回值为另一个函数。
高阶函数:
map:内置函数:接收两个参数,一个函数,一个序列,功能是将序列中的值处理后再依次返回至列表中,其返回值为一个迭代器对象。因此输出时需要用list进行表示。
num = [1, 2, 3, 4, 5]
def square(x):
return x ** 2
res = list(map(square, num))
print(res)
filter:内置函数:接收两个参数,一个函数,一个序列,功能是将序列中的值使用函数处理后进行过滤,返回值同样也是个迭代器对象。因此输出时需要用list进行表示。
num = ['Wangbing', 'zhangsan', 'lisi']
res = list(filter(lambda x: x.islower(), num))
print(res)
reduce:可迭代对象的高阶函数。返回值为一个值。
from functools import reduce #需要从functools中导入reduce函数
num = [1, 2, 3, 4, 5, 6, 7]
def add(x, y):
return x + y
res = reduce(add, num)
print(res)