我目前正在通过JSON解析作为一个快速示例,这就是它的样子:
词典1:
data:
0:
tag "importanttagone"
value 233
1:
tag "importanttagtwo"
value 234
词典2:
data:
0:
name "Important Tag One"
tag "importanttagone"
1:
name "Important Tag Two"
tag "importanttagtwo"
基本上我想要的是显示名称和相关的值。
Expected Output:
Name: Important Tag On
Value: 233
有没有办法比较词典中的两个标签,然后获得与标签位于同一个键内的名称?
答案 0 :(得分:1)
d1 = {
"data":{
0: {
"tag": "importanttagone",
"value": 233
},
1: {
"tag": "importanttagtwo",
"value": 234
}
}
}
d2 = {
"data":{
0: {
"tag": "importanttagone",
"name": "Important Tag One"
},
1: {
"tag": "importanttagtwo",
"name": "Important Tag Two"
}
}
}
d1_flat = {v['tag']: v['value'] for _, v in d1['data'].items()}
d2_flat = {v['tag']: v['name'] for _, v in d2['data'].items()}
result = {}
for k, v in d1_flat.items():
name = d2_flat.get(k, None)
if name:
result[name] = v
print(result)
输出:
{'Important Tag One': 233, 'Important Tag Two': 234}
答案 1 :(得分:0)
如果相同的标签在dicts中具有相同的键:
./android
答案 2 :(得分:0)
通过两个dicts的迭代,可以逐个元素地比较两个词典:
for k1 in dict1:
for k2 in dict2:
if dict1[k1]['tag'] == dict2[k2]['tag']
print('Name : ' + dict[k1]['name'])
print('Value : ' + dict[k2]['value'])
答案 3 :(得分:0)
您可以尝试一线解决方案:
{233: 'Important Tag One', 234: 'Important Tag Two'}
输出:
System.getProperty