簡體   English   中英

在另一個字典中合並具有相同鍵的python字典

[英]Merge python dicts with same key in another dict

例如:別名、速度、雙工:

Alias、Speed、Duplex 是 {key: val} 形式的字典,但在某些情況下 Alias 或 Speed 或 Duplex 可能為 null

所以我的問題是,如果我使用:

 dd = defaultdict(list)
        for d in (Alias, Speed, Duplex):
            for key, value in d.items():
                dd[key].append(value)

我將得到{key: [aliasVal, speedVal, duplexVal]}但正如我已經告訴你的,如果 Alias 為空,我將得到{key: [speedVal, duplexVal]}

所以我需要用字典替換列表。 最終結果應該是:

{key: {"aliasVal": aliasVal, "speedVal": speedVal, "duplexVal": duplexVal }}

現在我們知道鍵和值是否存在

首先我要感謝你的幫助,但我解決了這個問題

dd = defaultdict(dict)
    for d in (Alias, Descr, Speed, Duplex, adminState, opState):
        for key, value in d.items():
            dd[key].update(value)

    for elem in dd:
        """ If key doesn't exists i will create a new format key: None for db
        """
        descr = dd[elem].get("Descr", None)
        alias = dd[elem].get("Alias", None)
        speed = dd[elem].get("Speed", None)
        duplex = dd[elem].get("Duplex", None)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM