在另一个字典中使用相同的键合并python dicts

时间:2017-10-18 09:50:13

标签: python python-3.x dictionary

Ex:Alias,Speed,Duplex:

别名,速度,双工是形式为{key:val}的字母,但在某些情况下,别名或速度或双工可能为空

所以我的问题是,如果我使用:

 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 }}

现在我们知道密钥和价值(如果存在)

1 个答案:

答案 0 :(得分:0)

首先,我想感谢你的帮助,但我用

解决了这个问题
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)