この記事では、pythonで2次元リストと、多次元リストの使い方について解説していきます。
簡単なプログラム例題を用いながら解説していきます。
2次元リスト
2次元リストは行列と同じです。
この表が行列のイメージです。
これをリストで表すとこうなります。
list=[["a","b","c"],["d","e","f"],["g","h","i"]]
このa,b,c,d,e,f,g,h,iの要素を全て取り出すときはこのソースコードで取り出すことができます。
list=[["a","b","c"],["d","e","f"],["g","h","i"]] for i in list: for j in i: print(j)
ターミナルで実行した出力結果がこれです。
pythonだとたった4行の簡単なコードで要素が全て取り出せてしまいます!
これがpythonの利点だと思います。
では解説していきたいと思います。まず1つめのforです。
for i in list:
まず1回目の処理では、先ほどのイメージで表すと、iはlist[0]を表しています。
よって、iには["a","b","c"]が入っていることがわかります。
for j in i:
2つめのfor文で、jはi[0]を表しています。
よって、jには"a"が入っていることがわかります。
iには["a","b","c"]の3つの要素が入っているので、3回この操作を繰り返したら2つめのfor文を抜けます。
この時点で、1行目の["a","b","c"]の要素をそれぞれ出力することができました。
今回は3行なので、あと2回同じ処理を繰り返すと終了です。
順を追ってイメージをすることでわかると思います。
また、実際に自分でコードを実行してみるのも良いと思います。
要素を指定して取り出せればそれでいいっていう人もいるかもしれません。
今回の例では、cを取り出したい場合はprint(list[0][2])を実行すれば取り出せます。
他にもhを取り出したい場合はprint(list[2][1])を実行すれば取り出せます。
色々試して遊んでみてください!笑
多次元リスト
最後に多次元リストについて説明していきます。
多次元行列をすごい簡単にした表はこれです。
aとbは1の値をもち、aとcは2の値を持ち、aとdは3の値をもっています。
この表をリストで表すとこうなります。
list=[[["a","b"],1],[["a","c"],2],[["a","d"],3]]
ちょっと複雑ですね(笑)
でも大丈夫です!
多次元配列に対するfor文のイメージを書きます。
- 1回forを使うと、[["a","b"],1]を取り出すことができる
- 2回forを使うと、["a","b"],1を取り出すことができる
なんとなくイメージ湧きましたか?
では今度は実践していきましょう!
["a","b"],["a","c"],["a","d"]を取り出すソースコードがこれです。list=[[["a","b"],1],[["a","c"],2],[["a","d"],3]] for i in list: print(i[0])
1回目の処理では、iはlist[0]を表しているので、[["a","b"],1]が入っています。
i[0]を出力することでリスト[["a","b"],1]の0番目の要素である["a","b"]を取り出すことができます。
理解するのが大変だと思ったら実際にコードを実行してトライアンドエラーを繰り返しましょう!
最後に
この記事では、pythonで2次元リストと多次元リストを扱う方法について説明してきました。
今後もプログラムの記事について更新していく予定です。
解説してほしいプログラム内容などがあれば、お問い合わせからどしどし送ってください!