首頁 >後端開發 >Python教學 >如何使用迭代重複在 Python 中壓縮不同大小的清單?

如何使用迭代重複在 Python 中壓縮不同大小的清單?

Barbara Streisand
Barbara Streisand原創
2024-10-28 09:27:021070瀏覽

How to Zip Differently Sized Lists in Python Using Iteration Repetition?

透過迭代重複壓縮不同大小的清單

處理不同長度的清單時,將它們壓縮在一起可能會帶來挑戰。 Python 中預設的 zip() 函數將較短清單中的元素與較長清單中的元素配對,而較長清單中的其餘元素則不配對。為了解決這個限制,我們可以利用迭代重複的力量。

使用 itertools.cycle 進行無縫重複

重複較短列表的一種有效方法是利用 itertools.cycle 函數。這個函數會建立一個迭代器,即使在耗盡之後,它也會無限地循環遍歷可迭代的元素。透過將循環合併到我們的壓縮操作中,我們可以確保較短的清單不斷重複,直到較長的清單完全覆蓋。

程式碼實作

利用 itertools.cycle 壓縮不同大小的清單非常簡單。以下程式碼片段示範了其實作:

<code class="python">import itertools

A = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B = ["A", "B", "C"]

from itertools import cycle
zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)

for item in zip_list:
    print(item)</code>

輸出細分

執行提供的程式碼會產生以下輸出:

(1, 'A')
(2, 'B')
(3, 'C')
(4, 'A')
(5, 'B')
(6, 'C')
(7, 'A')
(8, 'B')
(9, 'C')

正如我們所觀察到的,較短的輸出清單B 會重複自身,直到較長列表A 中的所有元素都配對為止。這種無縫重複確保沒有元素不配對,從而使我們能夠在整個清單上執行操作而不會丟失任何資料。

以上是如何使用迭代重複在 Python 中壓縮不同大小的清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn