
これまで「変数」には、1つの値だけを入れていたよね!
だから、値がたくさんあるときには、たくさんの変数を作らないといけないよね!

でも、変数が50個とか100個とかになったら、扱いにくくなっちゃうよね!


それなら、こんなふうに1つにまとめられたら便利だよね!

それが、これから学ぶ「リスト」なんだ!

リスト

「リスト」というのは、「関連のあるまとまったデータを扱うための、特殊な変数」なんだ!
学校には「クラス」があって、生徒がクラス別にまとめられているよね!



そして、生徒一人ひとりの名前が書かれた「出席簿」があるよね!

「リスト」というのは、この「出席簿」みたいなものなんだ!


これまでの変数には、値を1つだけ代入していたね!

リストは変数と違って、まとまったデータの数だけ入れる場所が確保されて、全体に名前をつけることができるようになっているよ!


基本型
リスト



リストには、何のリストかわかるように「名前」をつけるよ!
「値」のことは、「要素」とも言うよ!


値は、それぞれ別々の部屋に入れられていると思ってね!
それに、部屋を区別するための、番号がつけられているんだ!
この番号のことは、「インデックス」と言うよ!
そして、この「インデックス」は、必ず「0」から始まるんだ!

使い方の例
📝1
3年B組の生徒名のリストです。

class3B = ["青木雅弘", "石井さやか", "上田菜々子", "江口大和",
"大森絵理子", "加藤健一", "川上翼", "木下由紀"]

3年B組の生徒のリストなので、リスト名を「class3B」にしたよ!
値は、「[ ](角カッコ)」の中に「,」で区切って書いてね!
文字列は「" "」で囲むのも忘れないようにね!


「値」がたくさんあるときには、途中で改行しても大丈夫だよ!
次に、リストの中の値の取り出し方を教えるね!

📝2
3年B組のリストから、インデックス番号を指定して生徒名を取り出す。


リストの中から、任意の「値(要素)」を得るときには、インデックス番号を指定すればいいんだ!
リスト名の後ろに「[ ](角カッコ)」をつけて、その中に必要な値の入っている部屋のインデックス番号を書いてね!

class3B = ["青木雅弘", "石井さやか", "上田菜々子", "江口大和",
"大森絵理子", "加藤健一", "川上翼", "木下由紀"]
print(class3B[4])

いったん他の変数を用意しておいて、それに代入することもできるよ!
インデックス番号で指定するときは、番号が「0」から始まっていることを忘れないようにしてね!

class3B = ["青木雅弘", "石井さやか", "上田菜々子", "江口大和",
"大森絵理子", "加藤健一", "川上翼", "木下由紀"]
student1 = class3B[0]
student2 = class3B[1]
student3 = class3B[2]
student4 = class3B[3]
student5 = class3B[4]
student6 = class3B[5]
student7 = class3B[6]
student8 = class3B[7]
print(student1)
print(student2)
print(student3)
print(student4)
print(student5)
print(student6)
print(student7)
print(student8)
📝3
3年B組のリストの値を変更する。

class3B = ["青木雅弘", "石井さやか", "上田菜々子", "江口大和",
"大森絵理子", "加藤健一", "川上翼", "木下由紀"]
class3B[2] = "宇野海斗"
print(class3B[2])

リストの中の、任意の「値(要素)」を変更するときも、インデックス番号を指定して変更できるよ!
インデックス番号を使って、リストの中から必要な値を取り出したり、値を変更したりする方法が理解できたかな?

📝4
最後の要素を得るときに、インデックス番号を間違って指定してしまったときのエラーです。


リストを使うときによくあるエラーが、インデックス番号を間違って指定してしまうエラーなんだ!
特に、リストの最後の要素のインデックス番号を指定するときに、間違えやすいよ!
リストの最後だから、つい要素の数を指定してしまうんだよね!

#要素数が、8個のリスト
class3B = ["青木雅弘", "石井さやか", "上田菜々子", "江口大和",
"大森絵理子", "加藤健一", "川上翼", "木下由紀"]
#最後の要素を得ようとして、要素数を指定してしまった!
print(class3B[8])

このエラーはよくあるので、間違わないよう気をつけるようにしてね!
最後の要素のインデックス番号は、「要素数 - 1」だよ!
なぜなら、インデックス番号は「0」から始まっているからね!

📝5
乱数を使って、ランダムにリストの中の値を取り出す。

インデックス番号を指定すれば、リストの中の値をどれでも取り出すことができるんだったね!
それで、乱数を使って、リストの中の値を取り出してみるよ!
何が出てくるかな?

import random
num = random.randint(0, 7)
class3B = ["青木雅弘", "石井さやか", "上田菜々子", "江口大和",
"大森絵理子", "加藤健一", "川上翼", "木下由紀"]
print(class3B[num])

実行するたびに、乱数で作られたインデックス番号の値が表示されているね!
乱数の範囲を指定するとき、間違わないように気をつけてね!

やってみよう
⌨️1
3年B組のテストの点数のリストの中から、指定した要素の値を取り出してください
・リストの中の3番目と最後の要素の値を取り出し、表示してください。
class3B_score = [80, 63, 90, 48, 70, 75, 56, 85, 95, 60]
📖 解答例と解説
class3B_score = [80, 63, 90, 48, 70, 75, 56, 85, 95, 60] print(class3B_score[2]) print(class3B_score[9])

リストの中の3番目ということは、インデックス番号は「2」で値は「90」だよね!
リストの要素数は10個だから、最後の要素のインデックス番号は「9」だよ!

⌨️2
くじ引きを作ろう
・賞は、「特賞」「一等賞」「二等賞」「三等賞」「はずれ」の5つです。
・どれが当たるかは、乱数で決めてください。
📖 解答例と解説
import random num = random.randint(0, 4) prize = ["特賞", "一等賞", "二等賞", "三等賞", "はずれ"] print(prize[num])

リストの要素数は、5つだね!
だから、乱数の範囲は「0, 4」だよ!

- 関連のあるまとまったデータを扱うときは、「リスト」を使う。
- 何のリストかわかるように「名前」をつける。
- 値のことを要素とも言う。
- 要素には、順番にインデックス番号がついている。
- インデックス番号は、「0」から始まっている。
- リストの最後の要素のインデックス番号は、「要素数 - 1」。