* 「Pythonのpprintの使い方(リストや辞書を整形して出力)」というページ

:CATEGORIES: python


pprintの基本的な使い方
出力幅(文字数)を指定: 引数width
出力する要素の深さを指定: 引数depth
インデント幅を指定: 引数indent
改行を最小限にする: 引数compact
文字列に変換: pprint.pformat()
例: 二次元配列(リストのリスト)を整形して表示

[source:]Pythonのpprintの使い方(リストや辞書を整形して出力) | note.nkmk.me https://note.nkmk.me/python-pprint-pretty-print/


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

In [60]: print(l)
[{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]

In [61]: pprint.pprint(l)
[{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
{'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
{'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

In [62]: pprint.pprint(l, width=40)
[{'Age': 40,
'Name': 'Alice XXX',
'Points': [80, 20]},
{'Age': 20,
'Name': 'Bob YYY',
'Points': [90, 10]},
{'Age': 30,
'Name': 'Charlie ZZZ',
'Points': [70, 30]}]

In [63]: pprint.pprint(l, width=400)
[{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]}, {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]}, {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

In [64]: pprint.pprint(l, depth=1)
[{...}, {...}, {...}]

In [65]: pprint.pprint(l, depth=2)
[{'Age': 40, 'Name': 'Alice XXX', 'Points': [...]},
{'Age': 20, 'Name': 'Bob YYY', 'Points': [...]},
{'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [...]}]

In [66]: pprint.pprint(l, indent=4)
[ {'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
{'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
{'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

In [67]: pprint.pprint(l, indent=12)
[ {'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
{'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
{'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

In [68]: s_pp = pprint.pformat(l)
...: print(s_pp)
[{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
{'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
{'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

In [69]: print(type(s_pp))