

前に勉強したリストの中に、さらにリストが入った構造のリストのことを二次元リストというよ!
オセロみたいに横と縦に広がる、表のような形でデータを扱うことができるんだ!

二次元リスト

これまで勉強したリストは横に一直線のデータだったね。
二次元リストは、リストをこんな風に合体させた感じだよ!



例えば、生徒ごとに成績データをこういう感じにまとめられたら便利だよね!


横方向を行、縦方向を列、と呼ぶよ!
これから行と列という言葉で説明するから、覚えてね!

基本型
二次元リスト


1行ずつ[]で囲って、カンマで区切って書いてね。
続けて書いてもいいけれど、こんなふうに書くとさらに分かりやすくなるよ!



特定の値を取得するには、2つのインデックス番号を指定してあげるんだよ。
1つ目に行のインデックス番号、2つ目に列のインデックス番号を、それぞれ「[](角カッコ)」で囲って指定してね!


使い方の例
📝1
数学のテストを受けた生徒名と点数をまとめたリストです。

math_score = [
["青木雅弘", 80],
["石井さやか", 63],
["上田菜々子", 90],
["江口大和", 48]
]

数学のテストを受けた生徒のリストなので、リスト名を「math_score」にしたよ!
値は、「[ ]」の中に「,」で区切って書いてね!


文字列は「" "」で囲むことも忘れないようにね!
📝2
インデックス番号を指定して生徒名と点数を取り出します。

math_score = [
["青木雅弘", 80],
["石井さやか", 63],
["上田菜々子", 90],
["江口大和", 48]
]
print(math_score[2][0])
print(math_score[2][1])

欲しいデータがある部屋のインデックス番号を指定すればいいんだね!
出力の1行目は、math_score[2][0]と指定したから「上田菜々子」の文字が表示されたね!


出力の2行目では、math_score[2][1]と指定したから「90」と表示されたね!
やってみよう
⌨️1
石井さやかさんの点数を65点に変更し、データ内全ての生徒名と点数を表示して確認してください。
math_score = [
["青木雅弘", 80],
["石井さやか", 63],
["上田菜々子", 90],
["江口大和", 48]
]
📖 解答例と解説
math_score = [ ["青木雅弘", 80], ["石井さやか", 63], ["上田菜々子", 90], ["江口大和", 48] ] math_score[1][1] = 65 print(math_score)

インデックス番号を指定して変更ができるよ!
石井さやかさんの点数が入っているのはmath_score[1][1]だね!

⌨️2
「あ」から「お」まで順番に出力してください。
mojiretu = [
["あ", "い", "う", "え", "お"],
["か", "き", "く", "け", "こ"],
["さ", "し", "す", "せ", "そ"],
["た", "ち", "つ", "て", "と"],
["な", "に", "ぬ", "ね", "の"]
]
📖 解答例と解説
mojiretu = [ ["あ", "い", "う", "え", "お"], ["か", "き", "く", "け", "こ"], ["さ", "し", "す", "せ", "そ"], ["た", "ち", "つ", "て", "と"], ["な", "に", "ぬ", "ね", "の"] ] print(mojiretu[0][0]) print(mojiretu[0][1]) print(mojiretu[0][2]) print(mojiretu[0][3]) print(mojiretu[0][4])

インデックス番号を使って、リストの中から必要な値を取り出す方法は分かったかな?
次のレッスンで、もっと簡単に取り出す方法を勉強するよ!

- リストの中にリストが入ったものを二次元リストという。
- 特定の値を取得したり変更したりするには、行と列の2つのインデックス番号を指定する。