将python dict与另一个di中的相同键合并

2024-03-28 15:53:22 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:别名、速度、双工:

Alias、Speed、Duplex是形式为{key:val}的dict,但在某些情况下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为null,我将得到{key: [speedVal, duplexVal]}。你知道吗

所以我需要用dict替换list。最终结果应该是:

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

现在我们知道了键和值,如果它们存在的话


Tags: keyinforvaluealiasnull速度dict
1条回答
网友
1楼 · 发布于 2024-03-28 15:53:22

首先我要感谢你的帮助,但我还是和你一起解决了这个问题

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)

相关问题 更多 >