本記事でpythonのfor文の基礎について学びましょう。目次は以下の通りになります。
forの基本構文
Pythonのfor
文は、反復処理を行うためのループ構造です。イテラブルオブジェクト内の要素を順番に取り出して処理するために使用されます。基本的な構文は以下の通りです。
for 変数 in イテラブルオブジェクト:
# ループ内で実行するコード
このイテラブルオブジェクトとはrangeやリストなどが挙げられます。rangeとリストを用いたfor文について解説していきます。
rangeとは
rangeとは、Pythonで連続する整数のシーケンスを生成するための組み込み関数です。3つの引数を受け取ることができます。一般的な構文は次のとおりです
range(start,end,step)
それぞれstartはシーケンスの最初の整数、endはシーケンスの最後の整数(ただし、この値は含まれません)、stepは各整数間の差となっています。例えば、range(1,7,2)とすると、1から6までの数が1つ飛ばしで並ぶ、つまり1,3,5となるわけです。ちなみに、rangeの引数が1つとか2つの場合がありますが、1つのときはstartが0でstepが1、2つのときはstepが1となります。
具体例
以下は”Hello World!”を3回出力するプログラムです。
for i in range(3):
print("Hello World!")
このときのrangeの引数は1つなので、startが0,step数が1となり、”Hello World!”の出力を3回行うことになります。ただ、iの値は0,1,2となるので、以下のコードを実行すると以下のようになります。
for i in range(3):
print(i)
具体例(リスト)
リストをfor文で行うと、「要素」と「インデックス」を出力できます。以下のリストを例に要素とインデックスを出力してみます。
list1=['りんご','みかん','ぶどう','いちご']
要素を出力
要素の出力のやり方は2通りあります。まずはfor文の構文通りにコードを書いてみます。
list1=['りんご','みかん','ぶどう','いちご']
for i in list1:
print(i)
実行結果は以下のようになります。
もうひとつはrangeを用いて書き、コードは次のようになります。
list1=['りんご','みかん','ぶどう','いちご']
for i in range(len(list1)):
print(list1[i])
rangeの中身はint型にする必要があるため、len(リスト)にしています。イメージ的にはリスト内の各要素を順番に繰り返し処理していると考えていただけるといいですね。実行結果は同じなので割愛します。
インデックスを出力
インデックスの出力のやり方も2通りあります。まずはrangeを用いて書いてみます。
list1=['りんご','みかん','ぶどう','いちご']
for i in range(len(list1)):
print(i)
実行結果は以下のようになります。
もう一つのやり方は’リスト名’.index(‘要素’)を用いる方法です。そうすると、コードは以下のようになります。
list1=['りんご','みかん','ぶどう','いちご']
for i in list1:
print(list1.index(i))
実行結果は同じなので割愛します。
breakとcontinueについて
for文で使用されるメソッドとしてbreakとcontinueについて説明します。それぞれ一言で言うと、break
は条件が満たされた時点でループ全体を終了で、continue
は条件が満たされた時点でそのイテレーションをスキップして次のイテレーションに進むメソッドです。
break
break
文は、ループ内で使用され、特定の条件が満たされた場合にループを直ちに終了します。例えば、for
ループやwhile
ループ内で、ある条件が満たされたらループを終了したい場合に使用されます。ループを抜けると、その後のコードが実行されます。
たとえばi=6になったらループを終了というプログラムを作成します。コードが以下のようになります。
for i in range(10):
if i >= 6:
break
print(i)
こちらを実行すると次のようになります。
このようにiが6になったらfor文が終了しました。
continue
continue
文は、ループ内で使用され、特定の条件が満たされた場合にそのイテレーションをスキップし、次のイテレーションに進みます。つまり、ループの一部の処理をスキップして、次の反復に移ることができます。例えば、条件が満たされない場合の処理をスキップしたい場合に使用されます。
たとえば偶数の数だけ表示するというプログラムを作成します。コードが以下のようになります。
for i in range(10):
if i % 2 != 0:
continue
print(i)
こちらを実行すると次のようになります。
上記のように偶数のみを出力する結果となりました。
まとめ
本記事では、for
文ループを使用してデータを繰り返し処理し、break
および continue
ステートメントを使ってループの制御をする方法について説明しました。これらの機能を適切に使うことで、効率的なプログラムの制御が可能になります。
コメント