Pythonの2次元配列をprint()
で表示するコツを紹介します。
numpyを使わなくてもできます。
動作確認:Python 3.6
ランダムな値の2次元配列の宣言
表示するランダムな2次元配列を用意します。
内包表記で2次元配列を宣言して、random.randint()
で指定範囲のランダムな整数を用意しました。
出力は# => 出力
、複数行の場合は"""\n出力\n"""
として表現しています。
import random
h = 10
w = 3
arr = [[random.randint(0, 10)] * w for _ in range(h)]
print(arr)
# => [[6, 10, 6], [3, 4, 9], [5, 7, 4], [9, 2, 3], [6, 3, 6], [9, 6, 9], [0, 6, 9], [7, 4, 4], [2, 1, 10], [8, 9, 3]]
そのままだと1行で出力されるため見づらいですね。
*でアンパッキングする
*(アスタリスク)を添えると配列をアンパックできます。 どういうことかというと、下のように要素を分解してくれます。
print(arr[0], arr[1], arr[2], arr[3], ....)
# 上と同じで要素を分解する
print(*arr)
for文
など使うよりもスッキリしますね。
アンパッキングすると要素の間の文字列(separator)を指定できるのでこれを利用します。
改行をseparatorに指定。
# 改行して2次元配列を表示
print(*arr, sep='\n')
""""
[6, 10, 6]
[3, 4, 9]
[5, 7, 4]
[9, 2, 3]
[6, 3, 6]
[9, 6, 9]
[0, 6, 9]
[7, 4, 4]
[2, 1, 10]
[8, 9, 3]
""""
かっこやセミコロンをなくす
要素だけ表示するにはこのように書きます。
for a in arr:
print(*a)
"""
6 10 6
3 4 9
5 7 4
9 2 3
6 3 6
9 6 9
0 6 9
7 4 4
2 1 10
8 9 3
"""
カンマ区切りのcsvにする
for a in arr:
print(*a, sep=',')
"""
6,10,6
3,4,9
5,7,4
9,2,3
6,3,6
9,6,9
0,6,9
7,4,4
2,1,10
8,9,3
"""
こちらもどうぞ
Python:ファイルダウンロードの進行状況とファイルサイズを表示する方法。urllib
Pythonschedule2024-02-27
【Python】tqdmでforの進捗状況を表示する
PythonColabolatoryschedule2021-02-16
学習済みの日本語単語ベクトルをColabolatoryで試してみる
自然言語処理PythonColabolatoryschedule2021-02-04
Unity ML-Agentsで新しく学習環境を作る
Unity機械学習C#PythonDeepLearningschedule2021-01-22
27. 内部リンクの除去
自然言語処理100本ノックPythonschedule2020-03-17