効率化

ループ処理

コンピュータの得意分野:面倒な繰り返し作業を自動化しよう

ループ処理とは?自動化の魔法

プログラミングを学ぶ最大のメリットの一つが、この「ループ処理」です。人間がやると数時間かかるような単純作業(例:エクセルの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` は頻繁に使うので、何も見ずに書けるようになるまで練習しましょう。