ループ処理
コンピュータの得意分野:面倒な繰り返し作業を自動化しよう
ループ処理とは?自動化の魔法
プログラミングを学ぶ最大のメリットの一つが、この「ループ処理」です。人間がやると数時間かかるような単純作業(例:エクセルの1万行のデータを処理する、1000個のファイル名を一括変更するなど)も、ループを使えば一瞬で終わります。
Pythonの for 文:「順番に取り出す」
Pythonの `for` 文は、他の言語(CやJavaなど)とは少し性質が異なります。数字をカウントアップするだけでなく、「リストや文字列から中身を1つずつ取り出す」ことに特化しています。これを「イテレーション(反復)」と呼びます。
Python
team = ["Aさん", "Bさん", "Cさん"]
for member in team:
# member変数に順番に名前が入る
print(f"{member}、準備はいいですか?")
回数を指定する:range() 関数
「単純に10回繰り返したい」という場合は、`range()` 関数を使います。この関数は、指定された範囲の数字を生成します。
Python
# 0から4まで(5回)繰り返す
for i in range(5):
print(f"現在、{i}回目です")
# 1から10まで、2つ飛ばしで(1, 3, 5, 7, 9)
for i in range(1, 11, 2):
print(f"奇数:{i}")
💡 インデックスも欲しい時:enumerate()
中身だけでなく、「今何番目か」という数字も一緒に使いたい時は `enumerate()` を使うと非常にスマートに書けます。
fruits = ["Apple", "Orange", "Grape"]
for i, fruit in enumerate(fruits, 1):
print(f"{i}番目のフルーツは{fruit}です")
条件で繰り返す:while 文
「回数は決まっていないが、ある条件を満たす間はずっと続けたい」という場合は `while` 文を使います。
battery = 100
while battery > 0:
print(f"稼働中... バッテリー残量{battery}%")
battery -= 20 # これを忘れると無限ループ!
print("バッテリー切れです")
ループの制御:break と continue
- break: ループをその場で完全に終了させます。「正解が出たら終了」などで使います。
- continue: 今の周回をスキップして、次の周回へ進みます。「特定のエラー値だけ飛ばして集計」などで使います。
応用:リスト内包表記
Pythonには、ループを使って新しいリストを作るための「リスト内包表記」という強力な書き方があります。慣れるとコードが劇的に短くなります。
# 普通の書き方
squares = []
for i in range(5):
squares.append(i ** 2)
# リスト内包表記(たった1行!)
squares = [i ** 2 for i in range(5)]
まとめ
Pythonのループ処理は非常に直感的で強力です。特に `for x in list` の形や `enumerate` は頻繁に使うので、何も見ずに書けるようになるまで練習しましょう。