Python

【Python】第2章第4回:繰り返し処理:for文の基本

Pythonでは、for文を使用して繰り返し処理を効率的に実行できます。本記事では、for文の基本構造から応用例までを解説します。

0. 記事の概要

この記事を読むメリット

  • for文の基本を理解:繰り返し処理の基礎を学べます。
  • 実用的なスキルを取得:リストや辞書の操作をfor文で効率化する方法がわかります。
  • エラーを回避:よくあるミスを防ぐためのコツが学べます。

この記事で学べること

  • for文の基本構造
  • リストや辞書の繰り返し操作
  • 繰り返し処理を応用した実践的なプログラム

1. for文の基本構造

1.1 for文の書き方

Pythonのfor文は、シーケンス(リスト、文字列、タプルなど)を1つずつ取り出して繰り返し処理を実行します。

# for文の基本構造
for i in range(5):
    print(i)
動作解説
  1. range(5): 0から4までの連続した整数を生成します。
  2. for文は、この範囲の各要素を順に処理します。
  3. 各ループでiの値が出力されます。

1.2 ネストされたfor文

for文を入れ子にすることで、複数のループを組み合わせた処理が可能です。

# ネストされたfor文
for i in range(3):
    for j in range(2):
        print(f"i: {i}, j: {j}")
動作解説
  1. 外側のループが1周するごとに、内側のループが完全に実行されます。
  2. 例では、ijのすべての組み合わせが出力されます。

2. for文でのリストの操作

2.1 リストを繰り返し処理する

リストの各要素をfor文で順に処理することができます。

# リストの繰り返し処理
fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
動作解説
  1. fruitsリストの各要素が順にfruitに代入されます。
  2. リストのすべての要素が1つずつ出力されます。

2.2 enumerateを使ったループ

enumerate関数を使うと、リストの要素とそのインデックスを同時に取得できます。

# enumerateを使用
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")
動作解説
  1. enumerate: インデックスと要素をタプルとして返します。
  2. ループ内でインデックスと要素を同時に処理することが可能です。

3. 実践例:for文を活用したプログラム

リスト内の数値を2倍にして新しいリストを作成するプログラムを作成します。

# 実践例: リスト内包表記を使用
numbers = [1, 2, 3, 4, 5]
doubled = [n * 2 for n in numbers]

print(doubled)  # 出力: [2, 4, 6, 8, 10]
動作解説
  1. [n * 2 for n in numbers]: リスト内包表記を使用して各要素を2倍にします。
  2. 結果は新しいリストとして生成されます。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. 1から10までの数値を繰り返し処理し、偶数のみを出力するプログラムを作成してください。
  2. リスト内の文字列をすべて大文字に変換し、新しいリストとして作成するプログラムを作成してください。

5. 練習問題の解答と解説

問1の解答例

# 偶数のみを出力
for num in range(1, 11):
    if num % 2 == 0:
        print(num)

問2の解答例

# 文字列を大文字に変換
words = ["hello", "world", "python"]
uppercase_words = [word.upper() for word in words]

print(uppercase_words)  # 出力: ['HELLO', 'WORLD', 'PYTHON']

6. まとめ

Pythonのfor文を使うことで、効率的かつ簡潔に繰り返し処理を記述できます。これを基に、さらに高度なプログラムに挑戦してみてください。