この記事では、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に置き換えてください):
- 【初心者向け】Pythonのif文の使い方をわかりやすく解説
- 【初心者向け】Pythonのfor文の使い方をわかりやすく解説!繰り返し処理の基本をマスターしよう
- (上級寄り)リスト内包表記でより簡潔に書く方法(今後の記事でおすすめ)
この記事が役に立ったら、記事の最後に次のCTAを置くと良いです:
「役に立ったらシェアお願いします!質問があればコメント欄へどうぞ。もっと練習問題が欲しい方は、プロフィールのリンクから無料PDFをダウンロードできます。」