python 中常见的高阶函数
1.zip函数,常用来代替for循环
a = [1,3,5]
b = [2,4,6]
zipped = zip(a,b) #[(1,2),(3,4),(5,6)]
1.1 解压缩
res = list(zip(*zipped))
结果:[(1,2,3),(4,5,6)]
1.2 zz元素的个数与最短的列表一致
a = [1,2,3]
b = [1,2,3,4]
c = [1,2,3,4,5]
zz = zip(a,b,c)
结果: [(1,1,1),(2,2,2),(3,3,3)]
reduce 函数,例子:给定一个列表,返回这个列表组成的数字
from functools import reduce
def f(x,y) :return x*10 + y
reduce(f,[1,3,5,7,9])
结果:13579filter :保留符合条件的值返回列表,例子:保留序列中的偶数(even)
def is_even(n): return n%2 ==0
list(filter(is_even,[0,1,2,3,4,5]))
结果: [0,2,4]
4.sorted 函数
sorted 是应用在list 上的方法,sorted可以对所有可迭代的对象进行排序操作
sorted([-1,-8,5,0])
结果:[-8,-1,0,5]
sorted([-1,-8,5,0],reverse = true)
结果:[5,0,-1,-8]
sorted([-1,-8,5,0],key = abs)
结果:[0,-1,5,-8]