首頁 > 後端開發 > Python教學 > 如何有效地將具有匹配鍵的 Python 字典合併到值元組中?

如何有效地將具有匹配鍵的 Python 字典合併到值元組中?

Linda Hamilton
發布: 2024-12-22 14:25:17
原創
952 人瀏覽過

How Can I Efficiently Merge Python Dictionaries with Matching Keys into Tuples of Values?

將字典與匹配鍵合併:教程

在Python 中,透過組合與匹配鍵關聯的值來合併字典是一項常見任務。讓我們探索一種有效實現這一目標的方法。

問題陳述

給定多個帶有鍵值對的字典,例如:

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

目標是建立一個新字典,其中每個鍵都有一個來自輸入字典的對應值的元組。例如,所需的結果將是:

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

解決方案:利用defaultdict

從匹配鍵收集值時合併字典集合模組中的defaultdict 類別。以下是逐步示範:

  1. 定義一個 defaultdict 對象,它會自動為缺少的鍵建立清單。
  2. 迭代輸入字典。
  3. 對於每個字典,對於每個鍵值對,將值附加到與 defaultdict 中的鍵關聯的列表中。
  4. 結果defaultdict 將具有代表所有輸入字典中的原始鍵的鍵,以及包含對應值的清單的值。

程式碼實作

from collections import defaultdict

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

dd = defaultdict(list)

for d in (d1, d2):
    for key, value in d.items():
        dd[key].append(value)

print(dd)  # defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
登入後複製

透過以下方式透過這些步驟,您可以有效地合併具有匹配鍵的字典,並將它們的關聯值組合到一個新字典。

以上是如何有效地將具有匹配鍵的 Python 字典合併到值元組中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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