ロジカ式logo

はじめての
Python

ページ一覧に戻る
Lesson16-1 二次元リスト
オセロ
ロボた

前に勉強したリストの中に、さらにリストが入った構造のリストのことを二次元リストというよ!

オセロみたいに横と縦に広がる、表のような形でデータを扱うことができるんだ!

ロボち

二次元リスト

ロボた

これまで勉強したリストは横に一直線のデータだったね。

二次元リストは、リストをこんな風に合体させた感じだよ!

ロボち
合体ロッカー
ロボた

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

成績データ表
ロボた

横方向を行、縦方向を列、と呼ぶよ!

これから行と列という言葉で説明するから、覚えてね!

ロボち

基本型

二次元リスト

二次元リスト 基本型
ロボた

1行ずつ[]で囲って、カンマで区切って書いてね。

続けて書いてもいいけれど、こんなふうに書くとさらに分かりやすくなるよ!

ロボち
二次元リスト分かりやすい書き方
ロボた

特定の値を取得するには、2つのインデックス番号を指定してあげるんだよ。

1つ目に行のインデックス番号、2つ目に列のインデックス番号を、それぞれ「[](角カッコ)」で囲って指定してね!

ロボち
二次元リスト抽出方法

使い方の例

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

生徒と点数表
EXAMPLE
math_score = [ ["青木雅弘", 80], ["石井さやか", 63], ["上田菜々子", 90], ["江口大和", 48] ]
ロボた

数学のテストを受けた生徒のリストなので、リスト名を「math_score」にしたよ!

値は、「[ ]」の中に「,」で区切って書いてね!

ロボち
ロボた

文字列は「" "」で囲むことも忘れないようにね!


📝2
インデックス番号を指定して生徒名と点数を取り出します。

特定の生徒と点数表
EXAMPLE
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点に変更し、データ内全ての生徒名と点数を表示して確認してください。

PRACTICE
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
「あ」から「お」まで順番に出力してください。

PRACTICE
mojiretu = [ ["あ", "い", "う", "え", "お"], ["か", "き", "く", "け", "こ"], ["さ", "し", "す", "せ", "そ"], ["た", "ち", "つ", "て", "と"], ["な", "に", "ぬ", "ね", "の"] ]

📖 解答例と解説

mojiretu = [
    ["あ", "い", "う", "え", "お"],
    ["か", "き", "く", "け", "こ"],
    ["さ", "し", "す", "せ", "そ"],
    ["た", "ち", "つ", "て", "と"],
    ["な", "に", "ぬ", "ね", "の"]
]
print(mojiretu[0][0])
print(mojiretu[0][1])
print(mojiretu[0][2])
print(mojiretu[0][3])
print(mojiretu[0][4])
ロボた

インデックス番号を使って、リストの中から必要な値を取り出す方法は分かったかな?

次のレッスンで、もっと簡単に取り出す方法を勉強するよ!

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