首頁 >後端開發 >Python教學 >如何在Python中有效率地將表格清單轉換為字典?

如何在Python中有效率地將表格清單轉換為字典?

DDD
DDD原創
2024-12-07 06:24:12216瀏覽

How Can I Efficiently Convert a Tabular List to a Dictionary in Python?

在Python 中將表格清單轉換為字典

在程式設計中經常會遇到資料以表格格式組織的場景,例如清單,其中偶數索引表示鍵,奇數索引表示對應的值。任務是將這個清單轉換為字典。

解決方案:

實現此轉換的最乾淨、最有效的方法是利用Python 的內建函數:

b = dict(zip(a[::2], a[1::2]))

此程式碼有效地迭代列表a,使用擴展切片運算子[::2] 對其進行切片,其中跳過所有其他元素。結果是兩個列表:a[::2] 包含鍵,a[1::2] 包含值。然後使用 dict() 函數使用這些列表建立字典。

對於大型列表,建議使用替代方法來避免建立臨時列表:

from itertools import izip
i = iter(a)
b = dict(izip(i, i))

此方法使用iter() 函數為列表 a 建立迭代器。 izip() 函數(或 Python 3 中的 zip())交錯每個迭代器中的元素,建立一個產生鍵和值元組的新迭代器。然後將這些元組傳遞給 dict() 來建構字典。

在Python 3 中,另一個語法上方便的方法是:

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}

此程式碼使用迭代列表的字典理解以兩步為單位進行索引,將鍵和值組裝到一個新字典。

在 Python 3.8 及更高版本中, 「walrus」運算子 (:=) 提供了一種將其寫在一行上的簡潔方法:

b = dict(zip(i := iter(a), i))

以上是如何在Python中有效率地將表格清單轉換為字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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