这篇文章主要介绍Python中的ruduce函数和filter函数有什么区别?Python filter()及reduce()函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下,下面一起来看看吧!
一、filter()函数
在之前学习的filter函数的概念当中,我们了解了它是python中的一个内置函数,它的作用和map函数的作用类似,返回的是一个filter对象或者是一个迭代器,在使用它的时候,需要用到另一个list函数,进行转换,这样才可以得到一个满足条件的新的列表。它传入的参数必须是一个布尔类型的数据,如果数据为真就会保留元素,如果是一个假的数据就会自动过滤掉,举个例子:
def is_even(x): return x%2==0 a=filter(is_even,[1,2,3,4,5,6]) print(a) 运行结果:<filter object at 0x017FCF30> print(list(a)) 运行结果: [2, 4, 6]
二、reduce()函数
这个函数与filter函数的区别就在于,它不需要借助另一个函数进行转换,而是直接可以输出一个函数对象的列。它是作用是使用一个function对一个序列进行累积的操作。举个例子:
from functools import reduce #导入reduce print(reduce(lambda x,y:x*y,[1,2,3,4]) 输出:24
在上面的代码中,代码的作用主要是用来实现一个阶乘的功能,首先我们需要对reduce函数进行导入,因为它存放在functiontools模块中,所以导入的方式就是代码中的一样,进行阶乘的过程就是先对第一个元素和第二个元素继续相乘,依次类推,最后得到一个正确的结果。
以上就是Python中的ruduce函数和filter函数有什么区别?Python filter()及reduce()函数使用方法解析的全部内容,希望对大家的学习能有所帮助。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。