まずは蝋の翼から。

学んだことを書きながら確認・整理するためのメモブログ。こういうことなのかな?といったことをふわっと書いたりしていますが、理解が浅いゆえに的はずれなことも多々あると思うのでツッコミ歓迎

pythobnでpprintを使ってリスト・辞書をきれいに出力する

割と常識っぽいが知らなかったのでメモ。

リスト・辞書は通常のprintでは1行にすべて表示されるがpprint.pprintを使うときれいに表示される。

以下のようなデータでおこなう。

import pprint

hoge = [[1,2,3,4,5,6,7,8,9,10],[1,2,3,4,5,6,7,8,9,10],[1,2,3,4,5,6,7,8,9,10],[1,2,3,4,5,6,7,8,9,10],[1,2,3,4,5,6,7,8,9,10]]

fuga = [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, 
     {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]},
     {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]

リストの場合以下。なお、リスト内が少ない場合はprintと同様の出力になる。

print(hoge)

print('=======')

pprint.pprint(hoge)

# [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]
# =======
# [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
#  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
#  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
#  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
#  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]

辞書の場合。

print(fuga)

print('=======')

pprint.pprint(fuga)

# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
# =======
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

参考

note.nkmk.me