我有一个如下格式的deafaultdict(列表(:
d = {
't0': [['cat0', ['eagle0']], ['cat1', ['eagle1']]],
't1': [['cat2', ['eagle2', 'eagle3']]]
}
我需要创建另一个具有附加级别的字典:
{
't':'t0',
'cats': [
{
'cat': 'cat0',
'eagles':['eagle0']
},
{
'cat': 'cat1',
'eagles: ['eagle1]'
}
]
} ...
我试图将现有的defaultdict输出的答案实现为flare树状图的适当JSON格式?,但我不知道如何为"猫"添加这个附加组:
for k, v in d.items():
my_dict = {
't': k,
'cats': [{'cat': v}]
}
输出类似:
{'t': 't0', 'cats':[{'cat': [['cat1', ['eagle1']]]}]}
提前谢谢。
只需循环遍历字典元素,使用列表理解将列表列表重新格式化为字典列表。
original = {
't0': [['cat0', ['eagle0']], ['cat1', ['eagle1']]],
't1': [['cat2', ['eagle2', 'eagle3']]]
}
result = []
for key, cats in original.items():
cats = [{'cat': cat, 'eagles': eagles} for cat, eagles in cats]
result.append({'t': key, 'cats': cats})
print(result)
输出:
[{'t': 't0', 'cats': [{'cat': 'cat0', 'eagles': ['eagle0']}, {'cat': 'cat1', 'eagles': ['eagle1']}]}
,{'t': 't1', 'cats': [{'cat': 'cat2', 'eagles': ['eagle2', 'eagle3']}]}]