1. ホーム
  2. python

[解決済み] ネストされた辞書をきれいに印刷するには?

2022-03-22 21:17:19

質問

Pythonで深さ〜4の辞書をきれいに印刷するにはどうしたらいいですか?私はかなり印刷を試してみました pprint() しかし、それはうまくいきませんでした。

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

単純にインデントが欲しいだけ( "\t" を使用すると、次のようなものが得られます。

key1
    value1
    value2
    key2
       value1
       value2

などです。

どうすればいいのでしょうか?

どのように解決するのですか?

具体的にどのような書式にしたいのかわかりませんが、まずはこのような関数から始めてみてはいかがでしょうか。

def pretty(d, indent=0):
   for key, value in d.items():
      print('\t' * indent + str(key))
      if isinstance(value, dict):
         pretty(value, indent+1)
      else:
         print('\t' * (indent+1) + str(value))