INDEX
forの概要
ループ処理Python予約語 | ||
for 概要 わかりやすく説明 |
||
|
forの基本的な使い方
リストの要素を順番に処理する基本的なループの例です。
# for を使ったリストの処理
fruits = ["りんご", "バナナ", "オレンジ"]
for fruit in fruits:
print(fruit)
- リスト
fruits
の各要素をfruit
に代入して処理します。 - 順番に「りんご」「バナナ」「オレンジ」と表示されます。
forとrange()を使った繰り返し処理
range()
関数を使うと、指定した回数だけループを実行できます。
# range() を使ったループ
for i in range(5):
print(i)
range(5)
は0
から4
までの5回ループを実行します。- 出力は「0, 1, 2, 3, 4」となります。
forとenumerate()でインデックス付きループ
enumerate()
を使うと、インデックス(番号)付きで要素を取得できます。
# enumerate() を使ってインデックス付きループ
fruits = ["りんご", "バナナ", "オレンジ"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
enumerate()
を使うと、各要素にインデックス番号が付きます。- 出力は「0: りんご」「1: バナナ」「2: オレンジ」となります。
forとzip()で複数のリストを同時にループ
zip()
を使うと、複数のリストの要素を並行して処理できます。
# zip() を使って2つのリストを同時にループ
names = ["太郎", "花子", "次郎"]
ages = [25, 22, 30]
for name, age in zip(names, ages):
print(f"{name} さんは {age} 歳です")
zip()
を使うと、対応するリストの要素を同時に取得できます。- 「太郎 さんは 25 歳です」のように出力されます。
forと辞書のループ
辞書のキーと値を取得する方法を紹介します。
# 辞書のループ処理
person = {"name": "太郎", "age": 25, "city": "東京"}
for key, value in person.items():
print(f"{key}: {value}")
items()
を使うと、キーと値を同時に取得できます。- 「name: 太郎」「age: 25」「city: 東京」と出力されます。
forの実践的な使用例
1から10までの合計を計算する例を示します。
# 1から10までの合計を計算
total = 0
for num in range(1, 11):
total += num
print(f"合計: {total}")
range(1, 11)
で 1 から 10 までの数を取得。- 合計を計算して「合計: 55」と出力されます。
forの注意点
- リストを変更しながらループするとエラーの原因になる:
for
ループ内でリストを変更すると、意図しない動作が発生することがあります。 - 無限ループを避ける:
for
は決められた範囲でループしますが、while
と組み合わせると無限ループのリスクがあります。 - break や continue との組み合わせ:
break
でループを終了したり、continue
で処理をスキップできます。
forのよくある質問
- Q: for ループでカウンター変数を増やさずに処理できますか?
- A: はい。リストや辞書の要素を直接扱うため、明示的なカウンター変数は不要です。
- Q: for を使って逆順にループできますか?
- A: はい。
reversed()
を使うと逆順にループできます(例:for item in reversed(my_list):
)。 - Q: for ループの中でリストの要素を削除できますか?
- A: 直接削除するとエラーが発生する可能性があります。リスト内包表記や
filter()
を使うのが安全です。
まとめ
for
は、リストや辞書などのシーケンスを効率的に処理するための強力なループ構文です。
- リストや文字列などのシーケンスを順番に処理できます。
range()
を使えば、回数指定のループも可能です。zip()
やenumerate()
で高度なループ処理ができます。
適切に for
を活用し、効率的なプログラムを作成しましょう。