0
冗長であると思われる場合は、申し訳ありません。私は他の投稿を見てきました。私は探しているものを見つけることができませんでした。おそらく私は基本的なコードを書こうとしているpython newbyです...指定された順序でリストするネストされたdicts辞書
サイズ:一部のキーは単一の値を持ち、他のキーは値としてネストされた辞書を持っています。
辞書をリスト(リスト項目としてネストされた値を含む)に変換したいのではなく、特定の順序で変換したいと考えています。例えば
:
d = {'E':{'e3': 'Zzz', 'e1':'Xxx', 'e2':'Yyy'}, 'D': {'d3': 'Vvv', 'd1':'Nnn', 'd2':'Kkk'}, 'U': 'Bbb'}
と私はそれがこのようになりたいと思います:
order_list = ['U', 'D', 'E'] # given this order...
final_L = ['U', 'Bbb', 'D', 'd1', 'Nnn', 'd2', 'Kkk', 'd3', 'Vvv', 'E', 'e1', 'Xxx', 'e2', 'Yyy', 'e3', 'Zzz']
私はメインキーが順番が、ネストされた値に分類することができます。ここで私はこれまで持っているものだ...
d = {'E':{'e3': 'Zzz', 'e1':'Xxx', 'e2':'Yyy'}, 'D': {'d3': 'Vvv', 'd1':'Nnn', 'd2':'Kkk'}, 'U': 'Bbb'}
order_list = ['U', 'D', 'E']
temp_list = []
for x in order_list:
for key,value in d.items():
if key == x:
temp_list.append([key,value])
final_L = [item for sublist in temp_list for item in sublist]
print(final_L)
私の現在の出力は次のようになります。
['U', 'Bbb', 'D', {'d1': 'Nnn', 'd2': 'Kkk', 'd3': 'Vvv'}, 'E', {'e1': 'Xxx', 'e3': 'Zzz', 'e2': 'Yyy'}]
これは素晴らしいことです。ありがとう! – virgiliocyte