【Python】多次元配列について学ぼう

python

本記事ではpythonの多次元配列について解説しています。 目次は以下の通りです。

そもそも配列とは

多次元配列は、リストやNumPyの配列を使って表現され、2次元以上の構造を持ちます。リストのリストやNumPyのarrayクラスを使用して、行列やテンソルなどを表現できます。構文としては以下のようになります。

matrix1=[['要素11','要素12',...'要素1n'],['要素21',...,'要素2n'],...['要素n1',...'要素nn']]

例を下に記します。

matrix1=[[1,2,3],[4,5,6],[7,8,9]]
print(matrix1)

こちらを実行すると、[[1, 2, 3], [4, 5, 6], [7, 8, 9]]となります。
3×3の行列とも言えますが、イメージ的にはmatrix1[0]に[1,2,3]のリスト、matrix1[1]に[4,5,6]のリスト、matrix1[2]に[7,8,9]と考えればよいでしょう。

要素の抽出

上のイメージを持てばおそらく要素の抽出もわかりやすいかと思います。例えば、3を抽出したいときはmatrix1[0]の3番目にあるので、コードとしては次のようになります。


matrix1=[[1,2,3],[4,5,6],[7,8,9]]
print(matrix1[0][2])

こちらを実行すると3となります。

要素の追加

こちらはどこに追加したいかを考えて追加すれば問題ないです。
追加するメソッドはリストと同じでappendを使いましょう。
例えば、matrix1の下に[10,11,12]を追加したい場合次のようなコードになります。

matrix1=[[1,2,3],[4,5,6],[7,8,9]]
matrix1.append([10,11,12])
print(matrix1)

実行すると次のようになります。
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

補足

多次元配列に関してNumPyで行うほうが汎用性が広くわかりやすいので、並び替えなどをするときはNumPyを入れましょう。

まとめ

本記事のポイントを以下にまとめます。

・多次元配列は2次元以上の構造を持つ配列
・基本的にはリストと同じように抽出や追加ができる
・並び替えやNumPyのモジュールで行うほうがいい

コメント

タイトルとURLをコピーしました