我有一个像这样的字典(Python):
{'G':
{'G':
{'T':
{'A': 'end'},
'C': 'end'},
},
'C': {'G': 'end'}
}
如何将其转换为像这样的多维数组?:
['G',
['G',
['T', ['A'],
'C']
],
'C', ['G']
]
谢谢
最佳答案
d = {
'G':
{'G':
{'T':
{'A': {'$': '$'}},
'C': {'$': '$'}}
},
'C': {'G': {'$': '$'}}
}
def merge(dct):
return [[k] + merge(v) for k,v in dct.items() if isinstance(v, dict)]
>>> merge(d)
[['C', ['G']], ['G', ['G', ['C'], ['T', ['A']]]]]
另一种变体:
def merge(dct):
l = []
for k,v in dct.items():
if isinstance(v, dict):
l.append(k)
m = merge(v)
if m:
l.append(m)
return l
>>> merge(d)
['C', ['G'], 'G', ['G', ['C', 'T', ['A']]]]
关于python - 将字典树转换为多维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21064311/