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

如何在 Python 中有效率地將交替鍵值列表轉換為字典?

Barbara Streisand
發布: 2024-11-29 16:51:10
原創
203 人瀏覽過

How Can I Efficiently Convert an Alternating Key-Value List to a Dictionary in Python?

將 '[key1,val1,key2,val2]' 轉換為字典:Python方法

問題:

在Python中,我們有一個具有交替鍵值結構的列表a,其中每個偶數元素代表一個字典鍵及其後續元素奇數元素就是對應的值。任務是將此列表轉換為字典 b,其中每個鍵值對都被適當地映射。

範例:

a = ['hello', 'world', '1', '2']
登入後複製

所需輸出:

b = {'hello': 'world', '1': '2'}
登入後複製

解:

解決這個問題最直接的方法是使用Python的dict()和zip() 函數。這是一個語法上乾淨的解決方案:

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

這種方法非常有效並且達到了預期的結果。然而,如果效能是一個問題,另一種方法是使用Python 的迭代器工具:

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

這種方法在處理非常大的列表時特別有用,因為它不會在列表中創建任何臨時列表。

在Python 3中,字典理解也提供了一個簡潔的解決方案:

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

雖然zip() 在Python 3 中已經是惰性的,您還可以在Python 3.8及更高版本中使用海象運算子(:=)進行單行解決方案:

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

最終,最佳選擇取決於特定要求和您正在使用的 Python 版本。這些方法提供了一個乾淨且有效率的解決方案,用於將交替鍵值對列表轉換為 Python 中的字典。

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

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