連續列表項對的迭代器
給定一個元素列表,您可能需要迭代列表中的連續項對。雖然可以使用 for 循環一次迭代列表中的一個元素並手動檢索連續的項目,但有一種更緊湊、更有效的方法可以使用 Python 迭代器來實現此目的。
zip() 函數
Python 的 zip() 函數是內建迭代器,允許從多個可迭代物件的對應元素建立元組。在這種情況下,我們可以使用 zip() 來建立連續清單項目的元組。例如:
l = [1, 7, 3, 5] for first, second in zip(l, l[1:]): print(first, second)
此程式碼將輸出:
1 7 7 3 3 5
zip() 函數有兩個參數:第一個是原始列表,第二個是帶有刪除第一個元素(使用l[1:] 實作)。然後它將對應的元素組合成元組,在這些元組上建立一個迭代器。
使用 itertools.izip()
對於 Python 2 用戶,itertools 模組提供了另一個選擇函數名為 izip()。此函數與 zip() 類似,但它會傳回一個可以延遲計算的 izip 對象,並且不需要在記憶體中建立新列表。不過,建議在 Python 3 中使用 zip(),因為它更有效率且更易於使用。
以上是如何迭代 Python 列表中的連續項目對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!