【Python】2次元リストを綺麗に表示する方法を3つ紹介!(for, pprint, NumPyを使用)

こんにちは!

皆さんはpythonを使っているとき、実行結果にリストが1列に表示されて見にくいなと思ったことはありませんか?

例えば、以下のように1列で表示されてしまうと、リストの途中で改行されたりして、見辛いと思ったことがあるかと思います。

[['Sunday'], ['Monday'], ['Tuesday'], ['Wednesday'], ['Thursd
ay'], ['Friday'], ['Saturday']]

今回の記事では、そういった場合に2次元リストを綺麗に表示させる方法について、以下の3つを紹介します。

  • for文を使用してリストを綺麗に表示
  • pprintモジュールを使用してリストを綺麗に表示
  • NumPy配列を使用してリストを綺麗に表示

for文を使用

まず1番簡単に利用できる方法として、for文を利用する方法があります。

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

上記のリストを表示する際に、

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

と表示する方法です。

以下のプログラムは、for文を用いて、3×3の2次元リストを綺麗に表示させるプログラムです。

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

for i in x:
     print(i)

このようにプログラミングすることによって綺麗に表示することができます。

単純な配列では効果が薄いかもしれませんが、大きな2次元リストを表示するときにはとても見やすくなります。

pprintモジュールを使用

2次元リスト的に以下のように表示したい場合にはpprintモジュールを用いると簡単です。

for文を使用した方法は、1次元リストを1行ごとに表示するようになっていたのですが、pprintモジュールを使用すると、以下のように2次元リスト的に表示されるようになります。

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

pprintモジュールはPythonの標準ライブラリなのでインストールは不要です。

pprint(リスト, width=幅)

以下のプログラムは、pprintモジュールを用いて、3×3の2次元リストを綺麗に表示させるプログラムです。

import pprint

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

pprint.pprint(x, width=11)

ここでwidthというのは、表示される配列の横の長さを指定するもので、今回の場合だと最小でwidth=11、最大でwidth=32で上記のように表示されます。

「[」や「,」や「 」も文字数に含まれます。

widthはデフォルト(何も指定しない)でwidth=80となります。

NumPy配列を使用する

NumPy配列を用いて2次元リストを作成すると、表示する際に以下のように綺麗に表示してくれます。

NumPy配列を用いると、他の方法とは違い、「,」が無くなります。

[[1 2 3]
 [4 5 6]
 [7 8 9]]

NumPy配列を使用する際には、NumPyライブラリのインストールが必要です。NumPyライブラリのインストール方法は以下の記事をご覧ください。

参考記事

こんにちは! 皆さんは「NumPyライブラリ」をインストールしていますか? NumPyライブラリは、よく使われる数値計算ライブラリで、とても便利なのでインストールしておくべきライブラリです。 そこで今回は、NumPyライ[…]

インストール中

以下のプログラムは、NumPy配列を用いて、3×3の2次元リストを綺麗に表示するプログラムです。

import numpy as np

x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

print(x)

NumPy配列を使用すると、print()を使うだけで、簡単に2次元リストを綺麗に表示することができます。

NumPy配列を使用すると、for文を使用するよりも処理が高速化されます。また、pprintを使用するよりも文字数の設定等が無いため簡単にできますね!

NumPyライブラリについて詳しく知りたい人は、以下の記事から見たい記事にアクセスしてみてください。

参考記事

この記事は NumPyライブラリに関する記事のまとめ記事になります。NumPyライブラリに関する記事の目次、リンクを載せています。 NumPyライブラリとは? 1. NumPyライブラリとは2. NumPyライブラリを使用する[…]

NumPyロゴ

まとめ

今回の記事では、以下の手法を紹介しました。

  • for文を使用してリストを綺麗に表示
  • pprintモジュールを使用してリストを綺麗に表示
  • NumPy配列を使用してリストを綺麗に表示

これらの方法は、サイズの大きい2次元リストを表示させるのに非常に役に立ちます。

オススメは、手軽さや処理速度などを考えて、NumPy配列を使用してリストを綺麗に表示させる方法です。

ですが、2次元リストを綺麗に表示させるには多くの方法があるので、自分が使いやすいと思った方法をしっかりマスターするようにしましょう!