在 Python 中迭代重疊值對
在 Python 中迭代列表時,您可能需要存取當前元素和同時下一個元素。傳統上,這是使用以下程式碼完成的:
但是,Python 3.8 引入了一種更有效的方法來實現此目的:
利用配對函數
Python文件為此提供了一個簡單的成對函數目的:
該函數建立兩個迭代器,a和b,它們指向輸入可迭代的第一個元素。然後迭代器 b 前進一步,導致 a 指向目前元素,b 指向下一個元素。然後使用 zip 函數建立這些元素對。
對於 Python 2
對於 Python 2,您可以將類似的成對函數與 itertools.izip 一起使用函數而不是zip:
泛化為多個Elements
透過調整tee 呼叫中的n 參數,可以將成對函數推廣為產生更大的元素視窗。例如,要建立三個元素對,您可以使用:
Caveat
請務必注意,此技術可能會消耗大量內存如果一個迭代器比其他迭代器前進得更遠。當視窗尺寸很大或原始可迭代中有很多元素時,就會發生這種情況。
以上是如何有效地迭代 Python 列表中重疊的元素對(或三元組)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!