所以我有如下嵌套python的dicts列表:
{"types": [{ "name": "Chinese",
"sub":
[{
"menu": [{"name": "Ya", "cost": 1}, {"name": "Ja", "cost": 2}],
"name": "Soups"
},
{
"menu": [{"name": "Ta", "cost": 3}, {"name": "Ba", "cost": 4}],
"name": "Mains"
}]
}]
}
我想要的是将内部列表中的dicts分离出来,最终得到这个:
{"types": [{"name": "Chinese(Soups)",
"menu": [{"name": "Ya", "cost": 1}, {"name": "Ja", "cost": 2}]},
{"name": "Chinese(Mains)",
"menu": [{"name": "Ta", "cost": 3}, {"name": "Ba", "cost": 4}]}
]
}
需要注意的一些事项是:
接近这个的最佳方式是什么?
答案 0 :(得分:2)
我不确定你真的想要这样,但是你在这里。
{'types': [
{'name': '%s(%s)' % (outer['name'], inner['name']),
'menu': inner['menu']}
for outer in original_dict['types']
for inner in outer['sub']]}
UPD:如果您希望更新原始字典,可以这样做:
original_dict['types'] = [
{'name': '%s(%s)' % (outer['name'], inner['name']),
'menu': inner['menu']}
for outer in original_dict['types']
for inner in outer['sub']]