【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]
原文地址:https://www.cnblogs.com/yanyojun/p/9291623.html