python中filter(),reduce()函数

Posted 时间带着假象流淌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于python中filter(),reduce()函数的主要内容,如果未能解决你的问题,请参考以下文章

Python reduce / map / filter 函数区别

python reduce/map/filter函数区别

python内置函数filter(),map(),reduce()笔记

python 在python中使用map,filter,reduce,lambda

python中filter,reduce,map的用法

Python内置函数filter, map, reduce