簡體   English   中英

如何在 itertools.accumulate 中使用初始參數?

[英]How to use initial argument inside itertools.accumulate?

在此文檔鏈接中,我們可以閱讀以下內容:

itertools.accumulate(iterable[, func, *, initial=None])

通常,元素輸出的數量與輸入迭代匹配。 但是,如果提供關鍵字參數initial ,則累積以初始值開始,因此輸出的元素比輸入的可迭代元素多一個。

但是,我無法弄清楚如何使用initial參數。

如果我像這樣使用它:

accumulate([0, 7, 19, 13], operator.add,1)

我收到錯誤“TypeError:accumulate() 最多需要 2 個參數(給定 3 個)”。

我正在使用 Python 3.4。

如果您查看函數簽名,您會注意到“*”。 這意味着它之后的任何內容都應該作為關鍵字參數提供。 所以你的電話應該是:

accumulate([0,7,19,13], operator.add, initial=1)

但是您說您使用的是 Python 3.4,那么您將沒有initial參數,因為它僅在 Python 3.8 中提供,根據文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM