当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在Python中指定reduce()累加器?

如何解决《有没有办法在Python中指定reduce()累加器?》经验,为你挑选了1个好方法。

我最近一直在学习很多Haskell,并想尝试一些Python中的巧妙技巧.根据我的理解,Python的reduce会自动设置迭代变量,并将函数中的累加器传递给reduce中给出的列表的前两个值.在Haskell中,当我使用它的等价物,折叠时,我可以指定我想要的累加器.有没有办法可以用Python的减少来做到这一点?



1> Łukasz Rogal..:

引用减少文档,接口是:

reduce(function, iterable[, initializer])

如果存在可选的初始值设定项,则它将放置在计算中的iterable项之前,并在iterable为空时用作默认值.如果未给出初始化程序且iterable只包含一个项目,则返回第一个项目.

因此,使用初始化程序的(学术)示例可能是:

seq = ['s1', 's22', 's333']
len_sum_count = reduce(lambda accumulator, s: accumulator + len(s), seq, 0)
assert len_sum_count == 9

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有