【Python】高级函数
1、Filter函数
1 def is_odd(x): 2 return x % 2 == 1 3 #将列表中所有的奇数筛选出来 4 print(list(filter(is_odd,[1,2,3,4,5,6,7])))
filter函数可以用于筛选,他的第一个参数是一个函数,第二个参数是一个可迭代的对象,可以是列表,也可以是文件如open("1.txt")等
上面执行结果是:
1 [1, 3, 5, 7]
2、zip函数
zip函数用于打包,废话少说,作用如下
1 list_data_1 = [1,2,3,4] 2 list_data_2 = [5,6,7,8] 3 print(list(zip(list_data_1,list_data_2)))
它的执行结果如下:
1 [(1, 5), (2, 6), (3, 7), (4, 8)]
它的参数可以是任意多个,如下:
1 list_data_1 = [1,2,3,4] 2 list_data_2 = [5,6,7,8] 3 list_data_3 = [9,1,2,3] 4 print(list(zip(list_data_1,list_data_2,list_data_3)))
执行结果如下:
1 [(1, 5, 9), (2, 6, 1), (3, 7, 2), (4, 8, 3)]
3、reduce函数
reduce函数接受两个参数,将运算结果与下一个阐述做累加,示例如下:
1 from functools import reduce 2 def my_sum(x,y): 3 return x+y 4 5 list_data_1 = [1,2,3,4] 6 print(reduce(my_sum,list_data_1))
执行结果是:
1 10
4、sorted函数
顾名思义,进行排序
1 list_data_1 = [5,6,1,2,3,4] 2 print(list(sorted(list_data_1)))
执行结果:
[1, 2, 3, 4, 5, 6]
可以反着排序
list_data_1 = [5,6,1,2,3,4] print(list(sorted(list_data_1,reverse=True)))
执行结果:
[6, 5, 4, 3, 2, 1]
还可以接收一个参数,如对绝对值进行排序:
list_data_1 = [5,-6,-1,2,3,4] print(list(sorted(list_data_1,key=abs,reverse=True)))
执行结果:
[-6, 5, 4, 3, 2, -1]