python中reduce函数拼接_python中reduce函数的用法

reduce 函数的作用是将序列的前两个元素与给定的函数联合使用,并将它们的返回值和下一个元素继续联合使用,直到整个序列处理完毕,并最终得到一个结果。在2.7版本之前,是内建函数,可以直接用,但新版本中,它变成了functools模块中的一个函数,所以,在使用时,首先需要导入,即加入import functools 或from functools import reduce,然后用代码functools.reduce 或reduce使用。

例:构想一个预测3D彩票号码的算法:给出一系列中奖号码,即一个中奖号码的序列,给定的函数的作用是将前两个中奖号码按位相加,其和与10取余,得到一个新号码,再与下一个号码一起继续联合,直至这一系列号码处理完成,最终得到一个新号码。

>>> lottery3D=[(0,3,7),(5,6,0),(0,8,7),(4,9,9),(3,9,5),(4,4,6),(6,9,9),(7,6,0),(3,1,9),(4,4,1)]   #福彩3D号码

>>> def lfunc(x,y):                                                                                                                         #按位相加取余的函数

revlist=[]

for i in range(3):

revlist.append((x[i]+y[i])%10)

return tuple(revlist)

>>> from functools import reduce                                                                                  #从functools导入reduce

>>> sample=reduce(lfunc,lottery3D                                                                             )#使用reduce得出一个新号码

>>> sample

(6, 9, 3)

>>>

ok!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值