filter()函数
是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 和一个list,这个函数的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
例如:要从一个list [1,3,4,5,6,7,9,10]中删除偶数,保留奇数,编写一个判断奇数的函数:
def is_odd(x):
return x%2==1
a=list(filter(is_odd,[1,3,4,5,6,7,9,10]))
print(a)
输出:
[1, 3, 5, 7, 9]
Process finished with exit code 0
Reduce函数
python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。
from functools import reduce#在python3中要通过functools导入reduce模块
def add(x,y):
return x + y
a=((reduce(add,[1,3,4,2])))
print(a)
输出:
10 #计算过程:1+3+4+2
Process finished with exit code 0