python:reduce方法

reduce方法是将一个数据集合(列表、元组等)中所有的数据进行指定操作
该方法首先需要导入模块,如下:

from functools import reduce

reduce()函数的定义:
格式:
reduce(function,sequence,initial_value)
function:接收一个函数,该函数必须接受两个参数。
sequence:接收可迭代的类型
initial_value:默认值,如果提供该值,在第一次运行的时候会以sequence中的第一个元素和initial_value作为参数调用 function,否则会以sequence中的前两个元素作为参数。

需要注意的是:reduce()中传入的函数f必须接受两个参数,reduce()对列表中的每个元素反复调用函数f,并返回最终的结果值。

例如:编写一个函数,接受x和y,返回x,y的和

def f(x,y):
    return x+y

reduce的函数定义方法:

a = reduce(f,[1,2,3,4,5,6])
print(a)
#>>>21

在上述例子中,首先将1,2传递给f,调用f后得到3,之后再将3,3作为参数传递给f继续调用,直到得出一个数值。

a = reduce(f,[1,2,3,4,5,6],100)
print(a)
#>>>121

如果我们添加initial_value值,会首先将initial_value的值和sequence的第一个元素传递给function,之后返回值和第二个元素再传递给function。

reduce的匿名函数方法:

print(reduce(lambda: x,y:x+y,[1,2,3,4,5])
#>>>17
#或者带初始值的方法
print(reduce(lambda: x,y:x+y,[1,2,3,4,5],100)
#>>>117

python3中统计某字符串出现的次数

from functools import reduce
sentences = ['我今年刚到北京,我去过北京天安门,北京真的是很棒,我想留在北京。 ']
word_count =reduce(lambda a,x:a+x.count("北京"),sentences,0)
print(word_count)

如果单纯的想要实现以上功能,则可以使用以下方式:

from functools import reduce
sentences = ['我今年刚到北京,我去过北京天安门,北京真的是很棒,我想留在北京。 ']
print(sentences[0].count("北京"))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值