Pythonのfor文の書き方-配列とrange関数の利用方法-

プログラミング Python

Pythonでのfor文の書き方はC言語やJavaなどと違って少し特殊です。

C言語やJavaなどのように「for( 初期値 ; ループする条件 ; 増減値 )」のような書き方はしません。

添え字の範囲を指定してループする場合はPythonでは「range関数」の戻り値を利用してループします。

スポンサーリンク

pythonのfor文の書き方

pythonではfor文は以下のように記述します。

for [変数] in [ループする値]:
  ・・・なんか処理

上記のようにループする値が順に変数の中に設定されて行き、条件が終了するとfor文を抜けます。

pythonのfor文で配列で利用する

pythonで配列をfor文で表示するには以下のようにfor文にそのまま配列を指定します。

students = ['Taro','Jiro','Jyunko','Akemi']
for s in students:
    print( '生徒の名前は[' + s + ']です。' )

実行結果は

生徒の名前は[Taro]です。
生徒の名前は[Jiro]です。
生徒の名前は[Jyunko]です。
生徒の名前は[Akemi]です。

になります。

pythonのfor文でrange関数を利用する

pythonのfor文で利用するrange関数には以下の3つのパターンの使い方があります。

for [変数] in range([終了番号]):
  ・・・なんか処理
for [変数] in range([開始番号,終了番号]):
  ・・・なんか処理
for [変数] in range([開始番号,終了番号,増減数]):
  ・・・なんか処理

range関数で回数のみ指定する

pythonのfor文で利用されるrange関数への引数が1つの場合は、添え字が到達する値を意味します。

以下の場合はrange関数が返す値は0から(0相対で)指定された回数分まで(今回の場合は「0,1,2,3」になる)ループすることになります。

students = ['Taro','Jiro','Jyunko','Akemi']
for s in range(4):
    print( '生徒の名前は[' + students[s] + ']です。' )

実行結果は

生徒の名前は[Taro]です。
生徒の名前は[Jiro]です。
生徒の名前は[Jyunko]です。
生徒の名前は[Akemi]です。

になります。

range関数で範囲指定する

pythonのfor文で利用されるrange関数への引数が2つの場合は、添え字が開始される値と到達する値を意味します。

以下の場合はrange関数が返す値は1から指定された値まで(今回の場合は「1,2」になる)ループすることになります。

students = ['Taro','Jiro','Jyunko','Akemi']
for s in range(1,3):
    print( '生徒の名前は[' + students[s] + ']です。' )

実行結果は

生徒の名前は[Jiro]です。
生徒の名前は[Jyunko]です。

になります。

range関数で増減分を指定する

pythonのfor文で利用されるrange関数への引数が3つの場合は、添え字が開始される値と到達する値、増減値を意味します。

以下の場合はrange関数が返す値は1から指定された値まで、2ずつ増えながら(今回の場合は「0,2,4,6」になる)ループすることになります。

students = ['Taro','Jiro','Jyunko','Akemi','Keiko','Hanako','Masahiro']
for s in range(0,7,2):
    print( '生徒の名前は[' + students[s] + ']です。' )

実行結果は

生徒の名前は[Taro]です。
生徒の名前は[Jyunko]です。
生徒の名前は[Keiko]です。
生徒の名前は[Masahiro]です。

になります。

まとめ

Pythonのfor文はC言語やJavaとちょっと違う部分があり、ループの添え字の範囲を「range関数」を使ったりするので戸惑うことあるかもしれませんが、慣れれば大きな問題にはなりません。
数多くのプログラムを書いて慣れていきましょう。

以上、Pythonのfor文の書き方-配列とrange関数の利用方法-でした。

タイトルとURLをコピーしました