首頁 > 後端開發 > Python教學 > 如何在 Python 中有效地將鍵值對的平面列表轉換為字典?

如何在 Python 中有效地將鍵值對的平面列表轉換為字典?

Linda Hamilton
發布: 2024-12-04 18:37:15
原創
507 人瀏覽過

How Can I Efficiently Convert a Flat List of Key-Value Pairs into a Dictionary in Python?

將平面列表轉換為字典

在Python 中,將鍵值對列表轉換為字典可以透過以下幾種方式實現方式。最簡單的方法是使用 dict() 函數。例如,給定列表a = ['hello', 'world', '1', '2'],我們可以使用以下語法建立字典b:

b = dict(zip(a[::2], a[1::2]))
登入後複製

這行程式碼使用zip()函數建立元組列表,其中每個元組包含一個鍵及其對應的值。然後 dict() 函數將此元組列表轉換為字典。

將列表轉換為字典的另一種方法是使用字典理解。這種方法更簡潔,更容易閱讀,特別是對於較大的列表:

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

此理解成對迭代列表a 並將第一個元素分配給鍵,將第二個元素分配給值。

如果清單非常大,您可能想要避免建立中間清單。在這種情況下,您可以使用 itertools.izip() 函數延遲迭代列表,而無需建立臨時列表。這個方法的語法是:

from itertools import izip
i = iter(a)
b = dict(izip(i, i))
登入後複製

在Python 3中,zip()函數已經是惰性的,所以你不需要使用izip()。您也可以使用「海象」運算子 (:=) 將其寫在一行上:

b = dict(zip(i := iter(a), i))
登入後複製

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板