如何将python字典转换为父子关系?

时间:2015-06-23 15:15:34

标签: python dictionary

input_dictionary= {'A': [{'B1': [{'C1': ['D2']}, {'C2': ['D3']}]}, {'B2': [{'C1': ['D2']}, {'C2': ['D3']}]}]}

输出:

['A','A_B1','A_B2','A_B1_C1','A_B1,C2',.....so on]

因此,通用格式是parent_child_subchild,依此类推。 任何建议/指南都将不胜感激。

1 个答案:

答案 0 :(得分:0)

>>> def stringify(d, prefix=[]):
...     try:
...        for k,l in d.items():
...            return ['_'.join(prefix+[k])]+[f for e in l for f in stringify(e,prefix+[k])]
...     except AttributeError:
...         return ['_'.join(prefix+[d])]
...
>>> stringify(input_dictionary)
['A', 'A_B1', 'A_B1_C1', 'A_B1_C1_D2', 'A_B1_C2', 'A_B1_C2_D3', 'A_B2', 'A_B2_C1', 'A_B2_C1_D2', 'A_B2_C2', 'A_B2_C2_D3']
相关问题