Python-reduce函数&filter函数

本文介绍了Python中的reduce函数和filter函数。reduce函数用于将可迭代对象归并成一个结果,通过递归应用一个接受两个参数并返回结果的函数。filter函数则对一组数据进行过滤,返回符合条件的数据生成的新列表。二者都是对列表进行操作,但filter返回的是filter对象,需要转换为列表才能查看。

一、reduce函数

本函数释义:

(1)原意是归并,缩减

(2)把一个可迭代的对象最后归并成一个结果

(3)对于作为参数的函数要求:必须由两个参数,必须返回一个结果

import functools

#定义一个操作函数,加入操作函数只是相加

def myAdd(x,y):

    return x + y

#对于列表执行myAdd的操作

num1 = functools.reduce(myAdd,[1,2,3,4,5,6])

print(num1)

释义:我们递归的对列表进行加和,1+2=3,3+3=6,6+4=10,10+5=15,15+6=21,通过定义一个规则(也就是这里面的函数),我们有两个输入,一个输出,然后进行递归操作。

二、filter函数

1.过滤函数:对一组数据进行过滤,符合条件的数据会生成一个新的列表并返回

2.与map函数相比

(1)相同点:都对列表的每一个与纳苏进行逐一的操作

(2)不同点:map会生成一个跟元数据相对应的新队列;filter函数不一定,只要符合条件的才会进入新的数据集合

3.filter函数怎么写

(1)利用给定的函数进行判断

(2)返回值一定是布尔值

(3)调用格式:filter(f,data),f是过滤函数,data是数据

def isEven(a):

    return a % 2 ==0

list1 = [555,44,5,52652,56,523,6,626,656]

#利用这个函数我们把列表中的偶数都给挑选出来了

rst1 = filter(isEven,list1)

print(type(rst1))

print(rst1)

print(list(rst1))

对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,教你如何实现边学习边用Python赚钱的学习方式。点击加入我们的 python学习者聚集地

filter函数返回的是一个filter类,打印出来也不再是一个列表,需要我们转换成列表,其中0x000…代表的是一个运行线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值