(1) 2次元リストの基本
リストの中にリストが入ったものを2次元リストといいます。表形式のデータを格納するのに便利です。
リスト名 = [リスト, リスト, リスト, … ]
= [[値, 値, 値, … ], [値, 値, 値, … ], [値, 値, 値, … ], … ]
2次元リストの定義
2次元リストは次のように定義します。
data = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
また、表形式のようにすると見やすいので、次のように書くことが多いです。
data = [
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34]
]
2次元リストの値の取得
2次元リストの中から値を取り出すときは、data[i][j]のように指定します。data[i][j]は、外側のリストのインデックス番号iにあるリストから、インデックス番号jの要素を取り出すという意味です。表形式では、0から数えたi行目 j列目の値を取り出します。
data = [
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34]
]
num = data[1][2]
print(num)
23
| 0列目 | 1列目 | 2列目 | 3列目 | |
|---|---|---|---|---|
| 0行目 | 11 | 12 | 13 | 14 |
| 1行目 | 21 | 22 | 23 | 24 |
| 2行目 | 31 | 32 | 33 | 34 |
data[i]のように外側のリストのインデックス番号だけ指定した場合は、インデックス番号iに格納されているリストを取得します。
data = [
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34]
]
row = data[1]
print(row)
[21, 22, 23, 24]
2次元リストの値の書き換え
2次元リストの中の値を書き換えるときは次のようにします。
data = [
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34]
]
data[1][2] = 99 # インデックス番号1の行、インデックス番号2の列の値を99にする。
print(data)
[[11, 12, 13, 14], [21, 22, 99, 24], [31, 32, 33, 34]]
2次元リストの要素数の取得
2次元リストdataについて、len(data)とすると、行の数([11, 12, 13, 14],[21, 22, 23, 24],[31, 32, 33, 34]の3つ)を取得します。
data = [
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34]
]
print(len(data))
3
また、len(data[2])とすると、インデックス番号2の行(3つ目のリスト)[31, 32, 33, 34]の要素数(31,32,33,34の4つ)を取得します。
data = [
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34]
]
print(len(data[2]))
4