словарь yaml multi вложен и словарь python

Я новичок в yaml, вывод находится в ожидаемом формате, но задается вопросом, есть ли лучший способ построить ниже вложенные объекты в yaml.

import yaml yaml.load (""" test1: a: a1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 b1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 c1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 b: a1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 b1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 c1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 c: a1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 b1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 c1: a2: a3: 0 b3: 0 c3: 0 b2: a3: 0 b3: 0 c3: 0 c2: a3: 0 b3: 0 c3: 0 """) 

вывод:

 'test1': {'a': {'a1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}, 'c1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}, 'b1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}}, 'c': {'a1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}, 'c1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}, 'b1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}}, 'b': {'a1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}, 'c1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}, 'b1': {'c2': {'c3': 0, 'a3': 0, 'b3': 0}, 'a2': {'c3': 0, 'a3': 0, 'b3': 0}, 'b2': {'c3': 0, 'a3': 0, 'b3': 0}}}}} 

One Solution collect form web for “словарь yaml multi вложен и словарь python”

Я могу подумать о двух способах, которые помогут вам напечатать на ямле.

Используйте короткий синтаксис сопоставления:

 test1: a: a1: a2: {a3: 0, b3: 0, c3: 0} b2: {a3: 0, b3: 0, c3: 0} c2: {a3: 0, b3: 0, c3: 0} b1: a2: {a3: 0, b3: 0, c3: 0} b2: {a3: 0, b3: 0, c3: 0} c2: {a3: 0, b3: 0, c3: 0} c1: a2: {a3: 0, b3: 0} 

Использовать псевдонимы:

 entry: &aliasentry a2: {a3: 0, b3: 0, c3: 0} b2: {a3: 0, b3: 0, c3: 0} c2: {a3: 0, b3: 0, c3: 0} test1: a: a1: *aliasentry b1: *aliasentry c1: {a2: {a3: 0, b3: 0}} 
  • Как перенести приложение app.yaml на 2.7?
  • Можно ли исправить допустимый YAML с привязками / ссылками, отключенными с помощью Ruby или Python?
  • YAML-файл url и скрипт в GAE python
  • Как я могу получить комментарии из файла YAML, используя ruamel.yaml в Python?
  • Python: доступ к значениям YAML с использованием «точечной нотации»
  • python open () метод IOError: Нет такого файла или каталога:
  • Управление порядком Serialization Yaml в Python
  • Отключить преобразование значения PyYAML
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.