我想Python字典转换为包含所有可能的键值对的列表。例如,如果字典是这样的:转换Python字典独特的键值对
{
"x": {
"a1": { "b": {
"c1": { "d": { "e1": {}, "e2": {} } },
"c2": { "d": { "e3": {}, "e4": {} } }
}
},
"a2": { "b": {
"c3": { "d": { "e1": {}, "e5": {} } },
"c4": { "d": { "e6": {} } }
}
}
}
}
我希望得到这样的列表:
[
{ "x": "a1", "b": "c1", "d": "e1" },
{ "x": "a1", "b": "c1", "d": "e2" },
{ "x": "a1", "b": "c2", "d": "e3" },
{ "x": "a1", "b": "c2", "d": "e4" },
{ "x": "a2", "b": "c3", "d": "e1" },
{ "x": "a2", "b": "c3", "d": "e5" },
{ "x": "a2", "b": "c4", "d": "e6" }
]
我很努力写一个递归函数。 我写了这个,但它不工作
def get_list(groups, partial_row):
row = []
for k, v in groups.items():
if isinstance(v, dict):
for k2, v2 in v.items():
partial_row.update({k: k2})
if isinstance(v2, dict):
row.extend(get_list(v2, partial_row))
else:
row.append(partial_row)
return row
那么你有什么到目前为止自己写的吗? –
请编辑您的问题以添加详细信息,请勿将其置于评论中。 –