Day 3・リスト・辞書(まとめて扱う)=AIとの接点
リスト(順序のあるまとまり)
複数の値を1つにまとめて、順番に扱うためのリストを学ぶ。
リストとは「箱を一列に並べたもの」
変数は値を1個しか入れられません。でも実際のデータは「3人の名前」「今週7日分の売上」のように複数まとめて扱いたいことがほとんどです。そこで使うのがリストです。リストとは、複数の値を順番付きで1つにまとめた入れ物のことです。
fruits = ["りんご", "みかん", "ぶどう"]
print(fruits)
# ['りんご', 'みかん', 'ぶどう']リストの中の1つ1つを「要素(element)」と呼びます。要素には前から順番に番号が振られていて、この番号を「インデックス(index)」と言います。大事なのは、番号が 0 から始まることです。1ではありません。
fruits = ["りんご", "みかん", "ぶどう"]
print(fruits[0]) # りんご (最初)
print(fruits[1]) # みかん
print(fruits[2]) # ぶどう (3番目だが番号は2)
print(fruits[-1]) # ぶどう (-1 は末尾)0始まりの落とし穴
「3個目が欲しい」ときのインデックスは 3 ではなく 2 です。プログラミングで最も多い勘違いの1つがこの「1つずれる」ミスです。最初は指を折って数える気持ちで確認してください。
リストは後から変えられる
リストは中身を追加・変更・削除できます。よく使うのは末尾に足す append です。
todo = ["買い物", "掃除"]
todo.append("洗濯") # 末尾に追加
print(todo) # ['買い物', '掃除', '洗濯']
todo[0] = "買い物(完了)" # 上書き
print(len(todo)) # 3 (要素の数)Day2で学んだ for と組み合わせると、リストの全要素を1つずつ処理できます。ここがリストの本領です。
scores = [80, 55, 90, 40]
for s in scores:
if s >= 60:
print(s, "合格")
else:
print(s, "不合格")AIにはこう聞く
「このリストから60点以上だけを取り出すPythonコードを書いて。理由も説明して」と頼めばコードは出ます。あなたの仕事は、出てきたコードが本当に60点以上を選んでいるか、インデックスがずれていないかを読んで確かめることです。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
items = ["a", "b", "c"] のとき、items[1] が返す値はどれですか。
リストの末尾に新しい要素を1つ追加するメソッドはどれですか。
リストとは何か、なぜ変数だけでは足りないのかを、未経験者に説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。