1. 高阶函数
1.1 高阶函数的概念
所谓的高阶函数,就是接受一个或多个函数作为参数,或者说输出的是一个函数。这两个条件满足一个,就算是高阶函数。
例如:
def plus1_1ist(iterable, func = lambda x: x+1):
return [func(i) for i in iterable]
这个函数就是要在参数中传入一个函数,然后在内部应用这个函数。
1.2 一些高阶内建函数
1.2.1 filter(function,iterable)
它是一个筛选元素的函数。
给一个function和iterable,选出iterable里符合条件的元素,返回一个迭代器,惰性求值。
也就是说,如果这个function的返回值为True,就返回这个元素,如果是False,就跳过。
例如,能被2整除,也就是function返回值为True的元素返回:
i = filter(lambda x : x%2==0, range(10))
list(i)
[0, 2, 4, 6, 8]
1.2.2 map(function, iterable)
它是一个转化元素的函数。
把iterable的元素一个个拿出来,按function做改变,元素一个都不少的返回。
<