首頁 > 後端開發 > Python教學 > 如何有效率地合併重複鍵的字典並收集它們的值?

如何有效率地合併重複鍵的字典並收集它們的值?

Patricia Arquette
發布: 2024-12-24 15:29:12
原創
688 人瀏覽過

How Can I Efficiently Merge Dictionaries with Duplicate Keys and Collect Their Values?

合併重複鍵的字典

使用包含重疊鍵的多個字典時,有必要在收集與這些鍵關聯的值時有效地合併它們。本文探討了一種從字典集合中的匹配鍵組合和收集值的解決方案。

問題陳述

給定幾個字典,例如:

d1 = {key1: x1, key2: y1}
d2 = {key1: x2, key2: y2}
登入後複製

目標是獲得合併結果作為新字典,其中每個鍵保存原始值的元組字典:

d = {key1: (x1, x2), key2: (y1, y2)}
登入後複製

此解法利用collections.defaultdict建立一個字典,其預設值作為可變列表。這允許累積每個鍵的值:

from collections import defaultdict

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}

dd = defaultdict(list)

for d in (d1, d2): # Input dictionaries can be iterated over here
    for key, value in d.items():
        dd[key].append(value)
登入後複製

最終合併的字典 dd 包含映射到輸入字典中的值列表的每個鍵。

以上是如何有效率地合併重複鍵的字典並收集它們的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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