首頁 >後端開發 >Python教學 >為什麼 Python 中的壓縮列表會產生元組列表,而不是串聯列表?

為什麼 Python 中的壓縮列表會產生元組列表,而不是串聯列表?

DDD
DDD原創
2024-12-18 20:17:11130瀏覽

Why Does Zipping Lists in Python Result in a List of Tuples, Not a Concatenated List?

Python 中的壓縮清單:大小不符說明

嘗試將多個清單壓縮在一起時,可能會遇到有關結果列表大小的意外行為。本文解決了一個常見的誤解,並提供了對 zip() 在 Python 中如何運作的清晰理解。

最初,嘗試壓縮三個大小為 20 的清單的程式可能會預期得到大小為 3 的結果清單。然而,產生的 zipall 清單卻包含 20 個元素。出現這種差異是因為 zip() 不連接列表;相反,它會建立一個元組列表,每個元組包含原始列表中的對應元素。

考慮以下範例:

a = b = c = range(20)
zipall = zip(a, b, c)

輸出 zipall 清單會有 20 個元素,每個元素element 是 (a_element, b_element, c_element)形式的元組:

[(0, 0, 0),
 (1, 1, 1),
 ...
 (17, 17, 17),
 (18, 18, 18),
 (19, 19, 19)]

因此,要確定每個元組中的元素數量,可以檢查以下任意元素的長度:

len(zipall[0])

這將返回長度3,表示每個元組包含三個元素。

請注意,如果原始清單為空,則 len(zipall) 表達式將傳回 0,因為空列表沒有任何可用於壓縮的元素。

以上是為什麼 Python 中的壓縮列表會產生元組列表,而不是串聯列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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