在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中文網其他相關文章!