第11回|Pythonのリスト入門:複数の値をまとめて扱う方法とfor文の基本 | はじめてのPython

当サイトでは、コンテンツの一部に広告を掲載しています。
第11回|Pythonのリスト入門:複数の値をまとめて扱う方法とfor文の基本 | はじめてのPython

はじめてのPython | 第11回

目次

1. はじめに

この回では、複数の値をひとまとめにして扱うための list を学びます。これまでは、1つの変数に1つの値を入れて使ってきました。

しかし、点数や名前のように、同じ種類の値をいくつも扱いたい場面はよくあります。そのようなときに使うのがリストです。

2. この回で学ぶこと

  • リストとは何か
  • [] を使ったリストの作り方
  • 添字を使った要素の取り出し方
  • len() で要素数を調べる方法
  • for 文でリストの要素を順番に処理する方法

3. 概念の説明

リストは、複数の値を順番つきでまとめて持てるデータです。Python では、[] を使って書きます。

たとえば、3教科の点数は次のように書けます。

scores = [70, 85, 90]

このリストには、70 85 90 の3つの値が入っています。リストの中の1つ1つの値を要素と呼びます。

リストの要素は、添字を使うと取り出せます。添字は 0 から始まります。

scores = [70, 85, 90]

print(scores[0])
print(scores[1])
print(scores[2])

このコードでは、上から順に 70 85 90 が表示されます。最初の要素が scores[1] ではなく scores[0] になる点が重要です。

要素数を調べたいときは len() を使います。

scores = [70, 85, 90]

print(len(scores))

この結果は 3 です。

また、リストは for 文と組み合わせると、すべての要素を順番に処理できます。

scores = [70, 85, 90]

for score in scores:
    print(score)

この書き方では、score に 70、85、90 が順番に入ります。

4. サンプルコード

次のコードを見てください。

scores = [70, 85, 90]

print("リスト全体:", scores)
print("1つ目の点数:", scores[0])
print("要素数:", len(scores))

for score in scores:
    print("点数:", score)

このコードでは、リスト全体の表示、添字での取り出し、要素数の確認、for 文での順番処理をまとめて確認できます。

5. 実行手順

まず、list_sample.py というファイルを作ります。

touch list_sample.py

list_sample.py をエディターで開き、次のコードを書いて保存します。

scores = [70, 85, 90]

print("リスト全体:", scores)
print("1つ目の点数:", scores[0])
print("要素数:", len(scores))

for score in scores:
    print("点数:", score)

保存したら、ターミナルで次のコマンドを実行します。

python3 list_sample.py

実行結果は次のようになります。

リスト全体: [70, 85, 90]
1つ目の点数: 70
要素数: 3
点数: 70
点数: 85
点数: 90

6. コードの読み方

  • scores = [70, 85, 90] は、3つの整数を持つリストを変数 scores に代入しています。
  • print("リスト全体:", scores) は、リストそのものを表示しています。
  • リストをそのまま表示すると、[] に囲まれた形で表示されます。
  • print("1つ目の点数:", scores[0]) は、添字 0 を使って最初の要素を取り出しています。
  • リストでは、1番目の要素の添字は 1 ではなく 0 です。
  • print("要素数:", len(scores)) は、リストの要素が何個あるかを表示しています。
  • この例では、要素が3つあるので 3 が表示されます。
  • for score in scores: は、リストの要素を先頭から順番に1つずつ取り出しています。
  • 繰り返しのたびに、score に 70、85、90 が順番に入ります。
  • print("点数:", score) は、そのときの要素を表示しています。

7. 初学者がつまずきやすい点

  • リストは [] で作る
  • 要素と要素の間は , で区切る
  • 添字は 0 から始まる
  • len(scores) は要素数であり、最後の添字ではない
  • for score in scores: のように書くと、要素を順番に取り出せる

特に、要素が3つあるときの最後の添字は 3 ではなく 2 です。要素数と添字を同じものとして考えないようにしてください。

8. よくあるエラー

1つ目は、存在しない添字を指定した場合です。

IndexError: list index out of range

たとえば次のような書き方です。

scores = [70, 85, 90]
print(scores[3])

このリストの添字は 0 1 2 までなので、scores[3] は取り出せません。

2つ目は、要素の区切りの , を忘れた場合です。

scores = [70 85, 90]

このように書くと文法エラーになります。リストの要素は , で区切る必要があります。

3つ目は、for 文のインデントが正しくない場合です。

IndentationError: expected an indented block

たとえば次のような書き方です。

scores = [70, 85, 90]

for score in scores:
print(score)

9. 練習用コード

次のコードを practice_list.py として保存して実行してください。

colors = ["red", "blue", "green"]

print("要素数:", len(colors))
print("最初の色:", colors[0])

for color in colors:
    print("色:", color)

実行したあとで、colors[1]colors[2] を表示して、どの要素が取り出されるか確認してください。

余裕があれば、要素を1つ追加して len(colors) の結果がどう変わるかも確認してください。

10. この回で理解しておくこと

  • リストを使うと複数の値をひとまとめに扱える
  • リストの要素は [] の中に , 区切りで書く
  • 添字は 0 から始まる
  • len() を使うと要素数を調べられる
  • for 文を使うとリストの要素を順番に処理できる

11. まとめ

今回は、リストを使って複数の値をまとめて扱う基本を確認しました。リストは、同じ種類のデータを順番に処理したいときによく使います。

添字と len()for 文の組み合わせは、このあとも繰り返し使います。まずは、要素を取り出すことと順番に表示することを確実に理解してください。

12. 次回予告

次回は、リストに要素を追加したり、値を変更したり、削除したりする方法を学びます。append() pop() remove() などの基本を確認します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次