har*_*rry 5 python json dictionary
我有一个如下的字典:
dict1={
'item1':
{'result':
[{'val': 228, 'no': 202}]
},
'item2':
{'result':
[{'value': 148, 'year': 201}]
}
}
Run Code Online (Sandbox Code Playgroud)
我们如何为每个项目插入一个新的键“类别”,以便输出如下所示:
output={
'item1':
{'category':
{'result':
[{'val': 228, 'no': 202}]
}
},
'item2':
{'category':
{'result':
[{'value': 148, 'year': 201}]
}
}
}
Run Code Online (Sandbox Code Playgroud)
目前,我有 key:value ,我希望插入具有相同值的 newkey,key:newkey:value
我尝试这样做,dict1['item1']['category1']但这正在添加一个新的键值对。
用于就地修改现有字典dict1:
for key, value in dict1.items():
dict1[key] = { "category" : value }
print(dict1)
Run Code Online (Sandbox Code Playgroud)
输出
{'item1': {'category': {'result': [{'val': 228, 'no': 202}]}}, 'item2': {'category': {'result': [{'value': 148, 'year': 201}]}}}
Run Code Online (Sandbox Code Playgroud)
作为替代用途update:
dict1.update((k, {"category": v}) for k, v in dict1.items())
Run Code Online (Sandbox Code Playgroud)
请注意,update从文档中接收字典或可迭代的键/值对:
update() 接受另一个字典对象或键/值对的可迭代对象(作为元组或长度为 2 的其他可迭代对象)。
最后在Python 3.9+中,您可以使用合并运算符( |=),如下所示:
dict1 |= ((k, {"category": v}) for k, v in dict1.items())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |