如何在 itertools.accumulate 中使用初始参数?
How to use initial argument inside itertools.accumulate?
在这个documentation link中我们可以读到:
itertools.accumulate(iterable[, func, *, initial=None])
Usually, the number of elements output matches the input iterable.
However, if the keyword argument initial is provided, the accumulation
leads off with the initial value so that the output has one more
element than the input iterable.
但是,我不知道如何使用 initial
参数。
如果我这样使用它:
accumulate([0, 7, 19, 13], operator.add,1)
我收到错误“TypeError: accumulate() takes at most 2 arguments (3 given)”。
我正在使用 Python 3.4.
如果您查看函数签名,您会注意到“*”。这意味着它之后的任何内容都应作为关键字参数提供。所以你的电话应该是:
accumulate([0,7,19,13], operator.add, initial=1)
但您说您使用的是 Python 3.4,那么根据文档,您将没有 initial
参数,因为它仅在 Python 3.8 中提供。
在这个documentation link中我们可以读到:
itertools.accumulate(iterable[, func, *, initial=None])
Usually, the number of elements output matches the input iterable. However, if the keyword argument initial is provided, the accumulation leads off with the initial value so that the output has one more element than the input iterable.
但是,我不知道如何使用 initial
参数。
如果我这样使用它:
accumulate([0, 7, 19, 13], operator.add,1)
我收到错误“TypeError: accumulate() takes at most 2 arguments (3 given)”。
我正在使用 Python 3.4.
如果您查看函数签名,您会注意到“*”。这意味着它之后的任何内容都应作为关键字参数提供。所以你的电话应该是:
accumulate([0,7,19,13], operator.add, initial=1)
但您说您使用的是 Python 3.4,那么根据文档,您将没有 initial
参数,因为它仅在 Python 3.8 中提供。