繰り返し処理の必須テクニック【Python】
Pythonの繰り返し処理は大変面倒です。
JavaScriptなど他の言語に慣れていると、独特のお作法が面倒で仕方ありません。
そんな方向けに、簡単に繰り返し処理のテクニックをまとめてみました。
基本形態
基本的な繰り返し処理はこちらの書き方です。
カウンタ変数を使わないという点が特徴的です。
Pythonの場合、このタイプの繰り返し処理しかありません。
プログラム
array = [1,2,3] for item in array: print(item)
実行結果
1
2
3
配列を用意しない方法
ループを回すためだけに配列を用意するのは面倒です。
一般的な言語のようにfor文を書きたいですよね。
残念ながら、そのようなことはできませんが、range文を使うと少しは可読性が上がります。
プログラム
array = [1,2,3] for i in range(3): print(i)
実行結果
0
1
2
補足事項
確かに3回繰り返すことに成功しましたが、カウンタ変数がおかしいですね。
始まりが[0]である点に注意が必要です。
range関数を極める
range関数は引数に指定した開始数から終了数までの
連続した数値を要素として持つ range 型の
オブジェクトを作成します。
プログラム
array = [1,2,3] for i in range(1, 3): print(i)
実行結果
1
2
補足事項
また、おかしな結果になってしまいました。
開始番号はよいですが、2回しか繰り返されていません。
そうです、range関数の第二引数は繰り返し回数ではありません。
range関数を使いこなす
range関数を使う場合、第二引数はループ回数に1を加算した値を設定します。
プログラム
array = [1,2,3] for i in range(1, 4): print(i)
実行結果
1
2
3
補足事項
やっと、目的とした回数ループすることができました。
なぜ、もう少し、使いやすく改良しないのか謎でしかありません。
すごいテクニック
ステップ間隔を設定することもできます。
プログラム
array = [1,2,3] for i in range(0, 10, 3): print(i)
実行結果
0
3
6
9
補足事項
あまり使い道はありませんが、参考までに!