LoginSignup
2
0

More than 1 year has passed since last update.

出力結果を簡単に見やすく表示する方法(pprint)

Posted at

paizaのスキルチェックでコードを書いていると、
途中結果を確認をしたいと感じることが多くあります。
その際に長い2次元配列などは横に長く表示されてしまい、見づらいことがあります。
今回はそれを簡単に見やすくする方法について説明します。

 
まずは何の工夫もなく、長い list をそのまま出力するコードです。

test_list = [["11111111", "22222222", "33333333"], ["aaaaaaaa", "bbbbbbbb", "cccccccc"], ["one", "two", "three"]]

print(test_list)

実行結果はこちら

[['11111111', '22222222', '33333333'], ['aaaaaaaa', 'bbbbbbbb', 'cccccccc'], ['one', 'two', 'three']]

結果は見づらいです。

 
続いて、for文を使って結果を見やすく表示するコードです。

test_list = [["11111111", "22222222", "33333333"], ["aaaaaaaa", "bbbbbbbb", "cccccccc"], ["one", "two", "three"]]

for i in range(len(test_list)):
    print(test_list[i])

実行結果はこちら

['11111111', '22222222', '33333333']
['aaaaaaaa', 'bbbbbbbb', 'cccccccc']
['one', 'two', 'three']

二次元配列が1行ずつ表示され、見やすくなったと思います。
ただし「毎回for文を書いたりせずに簡単に見やすく表示したい」と、私は感じていました。
そんな時に便利な機能が用意されていることを知りました。

 
便利な機能とは、pprintモジュールを使う方法です。
以下のコードで説明します。

# pprint モジュールを import
import pprint

test_list = [["11111111", "22222222", "33333333"], ["aaaaaaaa", "bbbbbbbb", "cccccccc"], ["one", "two", "three"]]

# pprint.pprint()で出力
pprint.pprint(test_list)

実行結果はこちら

[['11111111', '22222222', '33333333'],
 ['aaaaaaaa', 'bbbbbbbb', 'cccccccc'],
 ['one', 'two', 'three']]

先ほどのfor文を使った場合と同様に、
二次元配列が1行ずつ表示され、見やすくなったと思います。
これが通常のprint文を使うのとほぼ変わらずに実現できるので是非ご活用ください。

配列の横幅が短い場合は、改行が想定通りにならないこともあります。
その際には「width」で幅を指定することで、出力幅を変更することができます。(デフォルトは80)

pprint.pprint(【出力対象】, width=【width指定】)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0