このような(ネストされた)辞書があるとしましょう(リスト値に注意してください):
dic = {'level1':
{'level2':(1, 2),
'level3':
[
{'level4': (1, 2)},
{'level5': (1, 2)}
]
}
}
この辞書を印刷する適切な方法を探しています。これを行うために使用json
しています:
import json
print json.dumps(dic, indent=4)
上記のコードは、次の出力を提供します。
{
"level1": {
"level2": [
1,
2
],
"level3": [
{
"level4": [
1,
2
]
},
{
"level5": [
1,
2
]
}
]
}
}
上記の出力は非常に優れていますが、特に多くのレベルと長い名前がある場合は、まだ読みにくいです。私も試してみましたyaml
import yaml
print yaml.dump(dic)
奇妙に見える次のようになります。
level1:
level2: !!python/tuple [1, 2]
level3:
- level4: !!python/tuple [1, 2]
- level5: !!python/tuple [1, 2]
より良いダンプを生成できる他のライブラリはありますか?以下の出力は読みやすいと思います:
"level1"
|---"level2": 1, 2
|---"level3":
|---"level4": 1, 2
|---"level5": 1, 2
上記の方がはるかに読みやすく、これを実行できる Python ライブラリが存在する可能性があると思います。