克服 Python 字典中的重複鍵
在 Python 中,字典是將唯一鍵對應到關聯值的資料結構。但是,當您在資料中遇到重複鍵時會發生什麼?
考慮一個包含重複汽車登記號碼和相關資訊的文字文件,例如:
EDF768, Bill Meyer, 2456, Vet_Parking TY5678, Jane Miller, 8987, AgHort_Parking GEF123, Jill Black, 3456, Creche_Parking ABC234, Fred Greenside, 2345, AgHort_Parking ...
您可能想要建立一個字典以註冊號碼作為鍵,以資料作為值。然而,簡單地使用 dict[key] = value 賦值會覆寫與重複鍵關聯的現有值。
解決方案:defaultdict
集合模組中的 Python 的 defaultdict 允許您來克服這個限制。它是 dict 的子類,為未指定的鍵提供預設值。
要使用它,只需將:
data_dict = {}
替換為:
from collections import defaultdict data_dict = defaultdict(list)
現在,改為直接賦值,使用append()方法:
data_dict[regNumber].append(details)
這將建立一個關聯值的清單使用每個重複的鍵,有效地儲存與這些鍵相關的所有資料。
範例:
以下程式碼使用defaultdict 從範例資料建立字典:
from collections import defaultdict data_dict = defaultdict(list) for line in data_list: regNumber = line[0] # ... (rest of the code unchanged) data_dict[regNumber].append(details)
這將產生字典,其中每個註冊號(鍵)對應到關聯資料(值)的清單。
以上是Python 的 defaultdict 如何處理字典中的重複鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!