Python高阶函数

可以接受一个函数作为参数的函数叫做高阶函数。

map()

map()函数接受一个函数参数,一个惰性序列(Iterator)参数,将惰性序列里的每个值作用于函数参数后,返回新的惰性序列。

def f(x):
    return x*2
m = map(f, [1, 3, 6, 9])
print(m) ----------------------> [2, 6, 12, 18]

reduce()

reduce()函数同map()函数一样也接受两个参数,不同的是一个是函数参数,一个是序列参数(list)。而且其函数参数要接受两个参数,将函数参数求得的值继续和序列参数中下一个元素做累积计算。

def f(x, y):
    return x*2+y
m = reduce(f, [1, 3, 6, 9])
print(m) ----------------------> 41

filter()

filter()是用于过滤序列的高阶函数,其参数和map()相同,是否保留序列的元素取决于作用于序列元素的函数返回值是True还是False。filter()返回值是一个惰性序列。

def f(x):
    return x % 2 == 0
m = filter(f, [1, 3, 6, 9, 12])
print(m) ----------------------> [6, 12]

sorted()

sorted()是排序高阶函数,可以传入一个序列,一个key值(定义按何种方式排序),以及reverse=True/False是否反向

L = sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.upper, reverse=True)
print(L) ----------------------> ['Zoo', 'Credit', 'bob', 'about']
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容