Pythonのforループ徹底解説!range関数・逆順ループ・イテラブルオブジェクトの使い方
Pythonのforループは、複数の要素や特定の整数範囲を反復処理するために使用される構文です。対象となる要素は、リスト(配列)、文字列、その他Pythonにおける反復可能な(イテラブルな)オブジェクトなど多岐にわたります。
forループは最も頻繁に使われる繰り返し構文であり、多くのプログラミング問題がその解決策としてforループを活用しています。本記事では、forループの基本的な使い方から応用テクニックまで、実例を交えて詳しく解説します。
range関数を使ったforループ
Pythonでは、range関数と組み合わせたforループがよく利用されます。このループは2つの整数値を受け取り、変数が反復する範囲を指定します。整数パラメータが1つだけ指定された場合は、その値が範囲の終端となり、開始値はデフォルトで0になります。
構文
for 変数 in range(開始値, 終了値) for 変数 in range(終了値)
注意: Pythonのforループは、終了値より1つ手前までしか反復しません。つまり、開始値と終了値がそれぞれ1と5の場合、ループは1, 2, 3, 4に対して実行されます。開始値は範囲に含まれますが、終了値は含まれない点に注意してください。
サンプルコード
for i in range(1,5): print(i,end=" ") print() for i in range(5): print(i,end=" ")
出力結果
1 2 3 4 0 1 2 3 4
逆順に反復するforループ
range関数を使ったforループでは、第3引数に-1などの負の値を指定することで、ループを逆順に反復させることができます。この場合、ループは開始値から始まり、終了値(含まれない)まで減少しながら反復していきます。
サンプルコード
for i in range(5,0,-1): print(i,end=" ")
出力結果
5 4 3 2 1
第3引数でステップ数を指定する
forループの第3引数を変更することで、さまざまなパターンの反復処理が可能になります。第3引数は、変数が1回ごとにどれだけのステップ(間隔)で進むかを指定するものです。省略した場合のデフォルト値は1です。
第3引数が負の値の場合、ループは逆順に反復し、その絶対値が後退するステップ数を表します。逆に正の値の場合は、前方向きに反復し、その値が前進するステップ数となります。
以下の例で具体的な動作を確認してみましょう。
サンプルコード
for i in range(0,11,2): print(i,end=" ") print() for i in range(10,-1,-2): print(i,end=" ")
出力結果
0 2 4 6 8 10 10 8 6 4 2 0
最初の例では2ずつ増加しながら0から10まで反復し、次の例では2ずつ減少しながら10から0まで反復していることが分かります。
in演算子を使ったforループ
この形式のforループは、文字列やリストなどのイテラブルオブジェクトを直接反復処理するために使用されます。特定の整数範囲を反復する用途には使えません。
構文
for 変数 in イテラブルオブジェクト
このループは、インデックスを意識することなく、イテラブルオブジェクトの全要素を先頭から順番に1つずつ取り出して処理します。もし要素のインデックスが必要な場合は、range関数を使ったforループを使用してください。
サンプルコード
st="Tutorials" for i in st: print(i,end=" ") print() array=[2,4,6,8,10] for i in array: print(i,end=" ") print() for i in range(len(array)): print(array[i],end=" ")
出力結果
T u t o r i a l s 2 4 6 8 10 2 4 6 8 10
注意: 上記の例からも分かるように、in演算子を使ったforループでは変数にイテラブルオブジェクトの要素そのものが1つずつ格納される一方、range関数を使ったforループでは変数に要素のインデックスが格納されるという違いがあります。用途に応じて適切な形式を選びましょう。
-
Pythonのrange()関数とは?基本構文から実践的な使い方まで徹底解説
プログラミング学習のチュートリアルでは、意外と語られることのない重要なポイントがあります。それは、実際の開発では「繰り返し処理」と「カウント処理」を大量に行う必要があるということです。そのため、本格的なプログラミング言語であれば、数値を繰り返し列挙するための仕組みが必ず用意されています。Pythonにおけるrange()シーケンス型は、まさにその代表的な手段の一つです。 この記事では、Pythonのrange()について詳しく解説し、実際のプログラムでの活用方法をご紹介します。 Pythonのrange()シーケンス型とは range()は関数のように見えますが、実際にはPython 3に組
-
Bashのforループコマンドの使い方を徹底解説!自動化の第一歩
仕事でも家庭でも、テクノロジーを活用して生活を楽にする最良の方法の一つが「自動化」です。スクリプトや定时実行ジョブでタスクを自動化すれば、時間・手間・ストレスを大幅に節約できます。しかし、何から始めればよいのか分からないという方も多いはず。この記事では、IT自動化の基礎となるツールであるBashのforループコマンドの使い方を、初心者にも分かりやすく解説します。 テスト環境の準備 まず必要なのは、動作するBashの環境です。BashはLinux、Unix、BSD、macOSのターミナルにおけるデフォルトシェルです(zshを使用している場合を除く)。現在どのシェルを実行しているか確認するに