【发布时间】:2013-10-14 17:19:35
【问题描述】:
我对 Python 比较陌生,遇到了麻烦
使用 Folds 或更具体地说,reduce() 的 'initializer' 参数
例如reduce(function, iterable[, initializer])
这里是函数...
>>> def x100y(x,y):
... return x*100+y
有人能解释一下为什么 reduce() 会产生 44...
>>> reduce(x100y, (), 44)
44
或者为什么它在这里产生 30102...
>>> reduce(x100y, [1,2], 3)
30102
【问题讨论】:
-
与@TimPeters 相同的问题。另外,你读过this吗?特别是“大致相当于:”之后显示的代码?使用您的参数值逐行遵循该代码,这应该可以解释您正在观察的行为。
-
Google 搜索显示
x100y来自 infohost.nmt.edu/tcc/help/pubs/python/web/reduce-function.html
标签: python functional-programming reduce fold higher-order-functions