假设您有两个不同的词典。
info_stored = {'a' : 0, 'b' : 2, 'c' : 15}
log_stored = {'dog' : 1, 'a' : 1, 'ted' : 14}
我想比较这两个词典以确定键是否匹配。在这个例子中只有'a'是常见的。
for key in info_stored:
if key in log_stored:
我想用公共密钥和该公共密钥的值列表创建一个新字典。
common_stored = {'a' : [0, 1]}
答案 0 :(得分:2)
这个怎么样:
info_stored = {'a' : 0, 'b' : 2, 'c' : 15}
log_stored = {'dog' : 1, 'a' : 1, 'ted' : 14}
common_stored = {k: [] for k in info_stored if k in log_stored}
然后:
for key in common_stored:
common_stored[k].extend([info_stored[k], log_stored[k]])
print(common_stored) # common_stored = {'a' : [0, 1]}
第一步是创建一个字典,其中包含公共元素作为键,空列表作为值。
最后,我们根据原始dicts的内容修改这些空列表。
您甚至可以将这两个步骤合并到一个词典理解中,如下所示:
common_stored = {k: [info_stored[k], log_stored[k]] for k in info_stored if k in log_stored}
答案 1 :(得分:1)
info_stored = {'a' : 0, 'b' : 2, 'c' : 15}
log_stored = {'dog' : 1, 'a' : 1, 'ted' : 14}
common_stored = {}
# Traverse through info_stored dictionary
for key, val in info_stored.items():
# Check for key in log_stored dictionary, if found add it to common_stored
if key in log_stored:
common_stored[key] = [val, log_stored[key]]
common_stored
{'a': [0, 1]}
答案 2 :(得分:1)
一个简单的解决方案是:
info_stored = {'a' : 0, 'b' : 2, 'c' : 15}
log_stored = {'dog' : 1, 'a' : 1, 'ted' : 14}
result={}
for key in info_stored :
if key in log_stored :
result[key]=[ info_stored[key], log_stored[key]]
print (result)