在 Python 中使用列表時,可能需要迭代連續的元素對。傳統方法涉及使用 for 迴圈來迭代元素的索引,如下例所示:
l = [1, 7, 3, 5] for i in range(len(l) - 1): x = l[i] y = l[i + 1] # do something
雖然有效,但在處理大型清單時,這種方法可能會很乏味。以下是使用 Python 內建迭代器的更簡潔的解決方案:
zip 函數可讓您將兩個或多個迭代器中的元素配對。要迭代列表l 中的成對連續元素,您可以使用l[1:]:
for first, second in zip(l, l[1:]): # do something
將其與其自身的移位版本配對,此解決方案既簡潔又高效,非常適合處理列表對。
在 Python 2 中,使用 itertools 模組中的 izip 函數可以更方便大型列表的記憶體效率。與 zip 不同,它延遲產生對,避免建立中間列表:
import itertools for first, second in itertools.izip(l, l[1:]): # do something
此解決方案可確保高效的記憶體使用,同時提供與 Python 3 中的 zip 函數相同的功能。
以上是如何迭代 Python 列表中的連續元素對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!