【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)
動作解説
range(5)
: 0から4までの連続した整数を生成します。- for文は、この範囲の各要素を順に処理します。
- 各ループで
i
の値が出力されます。
1.2 ネストされたfor文
for文を入れ子にすることで、複数のループを組み合わせた処理が可能です。
# ネストされたfor文
for i in range(3):
for j in range(2):
print(f"i: {i}, j: {j}")
動作解説
- 外側のループが1周するごとに、内側のループが完全に実行されます。
- 例では、
i
とj
のすべての組み合わせが出力されます。
2. for文でのリストの操作
2.1 リストを繰り返し処理する
リストの各要素をfor文で順に処理することができます。
# リストの繰り返し処理
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
動作解説
fruits
リストの各要素が順にfruit
に代入されます。- リストのすべての要素が1つずつ出力されます。
2.2 enumerateを使ったループ
enumerate
関数を使うと、リストの要素とそのインデックスを同時に取得できます。
# enumerateを使用
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
動作解説
enumerate
: インデックスと要素をタプルとして返します。- ループ内でインデックスと要素を同時に処理することが可能です。
3. 実践例:for文を活用したプログラム
リスト内の数値を2倍にして新しいリストを作成するプログラムを作成します。
# 実践例: リスト内包表記を使用
numbers = [1, 2, 3, 4, 5]
doubled = [n * 2 for n in numbers]
print(doubled) # 出力: [2, 4, 6, 8, 10]
動作解説
[n * 2 for n in numbers]
: リスト内包表記を使用して各要素を2倍にします。- 結果は新しいリストとして生成されます。
4. 練習問題
以下の課題に挑戦してみましょう。
- 1から10までの数値を繰り返し処理し、偶数のみを出力するプログラムを作成してください。
- リスト内の文字列をすべて大文字に変換し、新しいリストとして作成するプログラムを作成してください。
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
文を使うことで、効率的かつ簡潔に繰り返し処理を記述できます。これを基に、さらに高度なプログラムに挑戦してみてください。