Py初めてのPython

Day 3リスト・辞書(まとめて扱う)=AIとの接点

リスト(順序のあるまとまり)

複数の値を1つにまとめて、順番に扱うためのリストを学ぶ。

リストとは「箱を一列に並べたもの」

変数は値を1個しか入れられません。でも実際のデータは「3人の名前」「今週7日分の売上」のように複数まとめて扱いたいことがほとんどです。そこで使うのがリストです。リストとは、複数の値を順番付きで1つにまとめた入れ物のことです。

PYTHON
fruits = ["りんご", "みかん", "ぶどう"]
print(fruits)
# ['りんご', 'みかん', 'ぶどう']
角カッコ [ ] で囲み、値をカンマで区切る

リストの中の1つ1つを「要素(element)」と呼びます。要素には前から順番に番号が振られていて、この番号を「インデックス(index)」と言います。大事なのは、番号が 0 から始まることです。1ではありません。

PYTHON
fruits = ["りんご", "みかん", "ぶどう"]
print(fruits[0])  # りんご (最初)
print(fruits[1])  # みかん
print(fruits[2])  # ぶどう (3番目だが番号は2)
print(fruits[-1]) # ぶどう (-1 は末尾)
[番号] で取り出す。マイナスは後ろから数える

0始まりの落とし穴

「3個目が欲しい」ときのインデックスは 3 ではなく 2 です。プログラミングで最も多い勘違いの1つがこの「1つずれる」ミスです。最初は指を折って数える気持ちで確認してください。

リストは後から変えられる

リストは中身を追加・変更・削除できます。よく使うのは末尾に足す append です。

PYTHON
todo = ["買い物", "掃除"]
todo.append("洗濯")     # 末尾に追加
print(todo)            # ['買い物', '掃除', '洗濯']

todo[0] = "買い物(完了)" # 上書き
print(len(todo))        # 3 (要素の数)
append で追加、len( ) で個数を数える

Day2で学んだ for と組み合わせると、リストの全要素を1つずつ処理できます。ここがリストの本領です。

PYTHON
scores = [80, 55, 90, 40]
for s in scores:
    if s >= 60:
        print(s, "合格")
    else:
        print(s, "不合格")
for でリストを1件ずつ処理する

AIにはこう聞く

「このリストから60点以上だけを取り出すPythonコードを書いて。理由も説明して」と頼めばコードは出ます。あなたの仕事は、出てきたコードが本当に60点以上を選んでいるか、インデックスがずれていないかを読んで確かめることです。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

items = ["a", "b", "c"] のとき、items[1] が返す値はどれですか。

Q2

リストの末尾に新しい要素を1つ追加するメソッドはどれですか。

Q3

リストとは何か、なぜ変数だけでは足りないのかを、未経験者に説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。