#6 Pythonで学ぶループの基本
同じ処理を繰り返し実行する仕組みを「ループ」と呼びます。この記事では、Pythonにおけるループの基本的な書き方と、便利な組み合わせテクニックについて解説します。
for文で決まった回数繰り返す
Pythonでは、range()という機能と組み合わせて、決まった回数の繰り返しを書きます。
for i in range(5):
print(i)
これで0から4までの数値が順番に表示されます。range(5)は「0から5未満まで」を意味する点に注意しましょう。
リストの中身を1つずつ処理する
Pythonのfor文は、リスト(複数の値をまとめたもの)の中身を順番に取り出すのにも使われます。
fruits = ["りんご", "みかん", "ぶどう"]
for fruit in fruits:
print(fruit)
この書き方は、他の言語で「拡張for文」や「for-each」と呼ばれるものに相当します。
添字も一緒に取り出したい場合
値だけでなく「何番目の要素か」も必要な場合は、enumerate()と組み合わせます。
for index, fruit in enumerate(fruits):
print(index, fruit)
複数のリストを同時に処理したい場合はzip()が便利です。
names = ["太郎", "次郎"]
scores = [90, 85]
for name, score in zip(names, scores):
print(f"{name}: {score}")
while文で条件を満たす間繰り返す
回数が決まっていない繰り返しにはwhileを使います。
count = 0
while count < 5:
print(count)
count += 1
条件がTrueである間、処理が繰り返されます。うっかり条件を更新し忘れると、無限に繰り返される「無限ループ」になってしまうので注意しましょう。
Pythonならではの注意点
他の多くの言語にあるfor (i=0; i<5; i++)のような書き方は、Pythonには存在しません。Pythonのfor文は「範囲やリストの中身を順番に取り出す」という考え方に統一されています。この違いに最初は戸惑うかもしれませんが、enumerate()やzip()と組み合わせることで、添字管理を自分で書かずに済む分、かえってシンプルで読みやすいコードになります。
まとめ
Pythonのループは、決まった回数にはforとrange()、条件によって繰り返す場合はwhileを使います。enumerate()・zip()も活用し、無限ループにならないよう条件の更新を忘れずに書きましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
Pythonをもっと学びたい方には「スッキリわかるPython入門 第2版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿