將平面列表轉換為字典
在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中文網其他相關文章!