まず結論

items[0] は、リストの最初の値を取り出す書き方です。

items = ["りんご", "バナナ", "みかん"]
print(items[0])

表示されるのは "りんご" です。

Pythonのリストは、人間の「1番目」ではなく、コンピュータ寄りの「0番目」から数えます。

イメージで考える

リストは、横に並んだ棚として見ると分かりやすいです。

最初の棚に 0、次の棚に 1、その次の棚に 2 の番号がついています。

items[0] は、「0番の棚から取り出す」と読むイメージです。

なぜ0なの?

Pythonのリストは、最初を 0 番目として数えます。

0番目: りんご
1番目: バナナ
2番目: みかん

人間の感覚では「1番目」が最初なので、ここで混乱しやすいです。

番号と個数はずれる

3個の値があるリストでも、使える番号は 012 です。

items = ["りんご", "バナナ", "みかん"]

このリストの長さは3ですが、最後の番号は2です。

2番目を取りたいとき

2番目の値を取りたいなら、[1] を使います。

items = ["りんご", "バナナ", "みかん"]
print(items[1])

表示されるのは "バナナ" です。

よくあるエラー

存在しない番号を指定すると、IndexError になります。

items = ["りんご", "バナナ", "みかん"]
print(items[3])

このリストにあるのは 012 までです。
3 番目は存在しません。

エラーになったときは、まず「個数」と「最後の番号」を分けて見ます。
3個あるリストの最後の番号は、3ではなく2です。

後ろから取りたいとき

Pythonでは、後ろから数える書き方もあります。

items = ["りんご", "バナナ", "みかん"]
print(items[-1])

[-1] は最後の値です。
この場合は "みかん" が表示されます。

手を動かすミニ練習

次のコードで、[] の中の数字を 012 に変えてみましょう。

items = ["りんご", "バナナ", "みかん"]
print(items[0])

items[0]items[1]items[2] の結果を見比べると、Pythonの番号が0から始まることを体で覚えやすくなります。