python中filter(),reduce()函数

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

 

posted @ 2018-11-22 21:54  时间带着假象流淌  阅读(217)  评论(0编辑  收藏  举报