作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试比较存储在 json 中的不同字典的键。如果键相同,则将这些键存储在另一个字典中,但我没有得到所需的输出。输入看起来像:
[
{
"huma":10,
"sana":25
},
{
"sara":12,
"huma":20,
" zeb:15
}
]
我尝试的是:
def compare():
result_dictionary = {}
with open('data.json') as data_file:
data = json.load(data_file)
for d1 in data:
for key, value in d1.items():
print("key: {key} | value: {value}".format(key=key, value=value))
compare()
我很困惑如何比较多个字典的这些键以及匹配的键将它们存储在新字典中?输出应该是“Huma”,因为只有它在两个词典中才相同。
最佳答案
使用集合
演示:
import collections
d = [{ "huma":10,"sana":25}, { "sara":12,"huma":20,"zeb":15}]
dd = collections.defaultdict(list)
for i in d:
for k,v in i.items():
dd[k].append(v)
print([k for k,v in dd.items() if len(v) > 1])
输出:
['huma']
关于python - 如何在python中迭代多个字典中的json键、值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50489970/
我是一名优秀的程序员,十分优秀!