ネストされた辞書をきれいに印刷するにはどうすればいいですか? 質問する

ネストされた辞書をきれいに印刷するにはどうすればいいですか? 質問する

Python で深さが ~4 の辞書をきれいに印刷するにはどうすればよいでしょうか? できれいに印刷しようとしましたpprint()が、うまくいきませんでした:

import pprint 
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(mydict)

私は単に各ネストにインデント ( "\t") を付けたいだけなので、次のようになります。

key1
    value1
    value2
    key2
       value1
       value2

これどうやってするの?

ベストアンサー1

最初に思いついたのは、JSON シリアライザーはネストされた辞書にかなり適していると思われるので、それを使ってみることにしたのです。

>>> import json
>>> print(json.dumps({'a':2, 'b':{'x':3, 'y':{'t1': 4, 't2':5}}},
...                  sort_keys=True, indent=4))
{
    "a": 2,
    "b": {
        "x": 3,
        "y": {
            "t1": 4,
            "t2": 5
        }
    }
}

おすすめ記事