本記事では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のモジュールで行うほうがいい
コメント