首頁 > 後端開發 > Python教學 > Python 的 defaultdict 如何處理字典中的重複鍵?

Python 的 defaultdict 如何處理字典中的重複鍵?

Susan Sarandon
發布: 2024-12-21 03:11:10
原創
620 人瀏覽過

How Can Python's `defaultdict` Handle Duplicate Keys in Dictionaries?

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

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