在另一个dict中合并具有相同键的python dict
例如:别名、速度、双工: Alias、Speed、Duplex是格式为{key:val}的DICT,但在某些情况下Alias、Speed或Duplex可能为空 所以我的问题是,如果我使用:在另一个dict中合并具有相同键的python dict,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,例如:别名、速度、双工: Alias、Speed、Duplex是格式为{key:val}的DICT,但在某些情况下Alias、Speed或Duplex可能为空 所以我的问题是,如果我使用: dd = defaultdict(list) for d in (Alias, Speed, Duplex): for key, value in d.items(): dd[key].append(value) 我将得到一个带有{k
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替换列表。最终结果应该是:
{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)
“空”是指
None
?因为在这种情况下,您将得到一个AttributeError
。还是一本空字典{}
?你说你想要一本字典而不是一个列表,那么你打算在哪里实现呢?更改dd
的定义以适应这一点很简单,为什么不从这里开始呢?不要只是断言你的问题不是重复的,这对任何人都没有用——展示你的研究,你读了什么,你认为别人会考虑重复,以及他们是如何精确地回答你的问题?