Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
    1. 1次元リスト
    2. 2次元リスト
    3. 3次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

多次元リスト

2次元リスト

次に,2次元リストの使い方を説明する.まずは2次元リストが要素を行と列の2次元に並べたものと考えると良い.2次元リストを作成するには,[1,2,3] のように作成した複数の1次元リストを , で区切って,全体を [] で囲うと良い.

# 3 x 3 の2次元リスト
a2 = [[1,2,3],[4,5,6],[7,8,9]]
a2
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

2次元リストのサイズも1次元リストと同様に len() で得ることができる.ここで,結果が 9 でないことに注意しよう.

len(a2)
3

1次元要素と同様にインデックスで要素を抽出すると次のような結果になる.

a2[0]
[1, 2, 3]
a2[1]
[4, 5, 6]

一つひとつの要素を抽出するには次のように指定すると良い.

a2[0][0]
1
a2[1][2]
6

上で,「2次元リストが要素を行と列の2次元に並べたもの」と説明したが,実は,Python では要素の数やデータ型が一致しなくても構いません.

b2 = [[0,1,2,3], [4,5], ['a', 'b', 'c', 'd', 'e']]
b2
[[0, 1, 2, 3], [4, 5], ['a', 'b', 'c', 'd', 'e']]

インデックスで抽出すると次のようになります.

b2[0]
[0, 1, 2, 3]
b2[2]
['a', 'b', 'c', 'd', 'e']

リストの要素としてリストを指定することもできます.こうなると3次元のイメージに近くなりますね.

c2 = [[0,1,2,3], [[4,5,6], 7], ['a', 'b']]
c2
[[0, 1, 2, 3], [[4, 5, 6], 7], ['a', 'b']]

2次元リストを初期化するには内包表記を使うと良い.

d2 = [[0] * 3 for i in range(5)]
d2
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

目次に戻る