【初心者向け】Pythonでリスト(配列)を使った繰り返し処理 — for文と組み合わせた実践例

公開日: 2025-10-30|更新日: 2025-10-30

この記事では、Pythonのリスト(配列)for文を組み合わせた基本的な使い方を、初心者向けにわかりやすく解説します。コピペで動くサンプルと練習問題付きなので、すぐに練習できます。

1. リストとは?

リストは複数の値を順序付きで保存できるデータ型です。角かっこ [] を使って定義します。

# リストの例
fruits = ["apple", "banana", "orange"]
numbers = [1, 2, 3, 4, 5]
mixed = ["Python", 3.14, True]

リストは追加・削除・変更が可能(ミュータブル)で、順番にアクセスできます。

2. リストをfor文で繰り返す基本

最も基本的なパターンは次の通りです。

fruits = ["apple", "banana", "orange"]

for fruit in fruits:
    print(fruit)

出力:

apple
banana
orange

この書き方は「リストの各要素を順に取り出して処理する」場合に使います。

3. インデックスが必要なとき(enumerate

要素の位置(インデックス)も使いたい場合は enumerate を使います。

fruits = ["apple", "banana", "orange"]

for i, fruit in enumerate(fruits, start=1):
    print(i, fruit)

出力:

1 apple
2 banana
3 orange

start=1 を指定すると 1 からカウントします(デフォルトは 0)。

4. ネストしたリスト(多次元リスト)を扱う

表のようなデータを扱うときは、リストの中にリストを入れます。for文を二重に使えば、各要素にアクセスできます。

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for value in row:
        print(value, end=" ")
    print()  # 改行

出力:

1 2 3 
4 5 6 
7 8 9 

5. 実践例:成績の平均・フィルタリング・集計

例1:学生の点数の平均を求める

scores = [70, 85, 90, 60, 75]

# 合計
total = 0
for s in scores:
    total += s

average = total / len(scores)
print("平均点:", average)

例2:合格者だけ抽出する(フィルタリング)

scores = [70, 85, 90, 60, 75]
pass_scores = []

for s in scores:
    if s >= 70:
        pass_scores.append(s)

print("合格者の点数:", pass_scores)

例3:点数ごとの人数カウント(辞書を使う)

scores = [70, 85, 90, 60, 75, 70]
count = {}

for s in scores:
    if s in count:
        count[s] += 1
    else:
        count[s] = 1

print(count)  # 例: {70: 2, 85: 1, 90: 1, 60: 1, 75: 1}

ヒント:上のカウント処理は collections.Counter を使うと簡潔に書けます(今は基本を優先)。

6. 練習問題(解答付き)

問題1

リスト [3, 6, 9, 12] の各要素を2乗して新しいリストを作ってください。

解答(クリックで表示)
nums = [3, 6, 9, 12]
squares = []
for n in nums:
    squares.append(n**2)

print(squares)  # [9, 36, 81, 144]

問題2

文字列のリスト ["apple", "pear", "banana"] の中から、文字数が5文字以上の単語だけを抽出してください。

解答(クリックで表示)
words = ["apple", "pear", "banana"]
long_words = []
for w in words:
    if len(w) >= 5:
        long_words.append(w)

print(long_words)  # ['apple', 'banana']

7. まとめと次に読む記事

今回はリストとfor文を組み合わせる基本と、実践的な例を紹介しました。ポイントをまとめます:

  • リストは複数の値を順序付けて持てるデータ型
  • for文で各要素を順番に取り出して処理する
  • インデックスが必要なら enumerate
  • 二次元データはネストしたループで処理できる

次に読むと良い記事(リンク先はご自身のブログURLに置き換えてください):

この記事が役に立ったら、記事の最後に次のCTAを置くと良いです:

「役に立ったらシェアお願いします!質問があればコメント欄へどうぞ。もっと練習問題が欲しい方は、プロフィールのリンクから無料PDFをダウンロードできます。」

参考・補足

実践を通して覚えるのが一番早いので、上の練習問題を実際に手を動かして試してみてください。分からない点があればコメントで質問してください。

(この記事は初心者向けに簡潔化しています。パフォーマンス改善や大規模データ処理の話は別記事で解説予定です。)