ループ処理を使えるようになると表現できる幅が広がりますよね。
最近pythonを使い始めてループ処理にもいくつか種類があることを知りました。
今回はpythonで最もよく使われるrange関数
を使ったループ処理とリストのループ処理について紹介します。
ループ処理(繰り返し処理)はどんなときに使うか?
プログラミングをしていると1つの処理を複数回繰り返したいときありますよね。
例えば要素が5の倍数のリストがあり各要素を5で割りたいとします。
[5, 10, 15] # 各要素を5で割りたい
インデックス指定をして1つずつ5で割る処理を書いても良いですが、これが要素数100とかだったら効率的じゃないですよね。
そんなときループ処理を使うと本来3回処理を書くはずだったものが1回で済みます。
便利ですよね。

ここからはfor文の種類について紹介します。
for i in range(繰り返し回数)
pythonで最もよく使われるfor文でしょう。range関数
と一緒に使います。

range関数
の中には数値型を入れてあげましょう。
for i in range(繰り返し回数)

for i in range(リストの個数)
リストの要素数だけループ処理を実行したいときはrange関数
にリストの要素数を入れます。
range関数
の引数は数値しか受け取れないのでそのままリストを入れられません。
リストの要素数を知りたいときはlen関数
を使いましょう。

for i in range(len(list))

for i in リスト
リストの中身を取り出したいときはin
のあとにリストを置いても良いでしょう。
このときrange関数
は不要です。
for i in リスト

range関数
を使ったループ処理と違う点は変数に入る値です。
for i in リスト
は変数(training)にリストの要素が入っています。
一方でfor i in range(リストの個数)
は変数(i)に繰り返した回数が入るためインデックス指定をしなければなりません。
繰り返し回数を使いたいときはfor i in range(リストの個数)
が良いですし、リストの要素だけ使いたいのであればfor i in リスト
を使うと良いですね。
補足 for(初期化式; 条件式; 変化式)は使える?
Javaなどでよく見るfor文の書き方はpythonでも使えるのでしょうか?
for (i = 1; i <= 10; i++) # iは1から始め、10になるまで処理を繰り返す
結論使えません。
実行するとエラーが表示されますね。

その言語に適した書き方じゃないと実行できないみたいですね。
複数のプログラミング言語を勉強している方は注意しましょう。
まとめ
今回はpythonでループ処理をする方法を2つ紹介しました。
- range関数を使う方法
- リストを使う方法
range関数
を使うときは引数は必ず数値じゃないとダメでしたよね。range関数
にリストを入れるとエラーになるのでlen関数
でリストの要素数を取得して引数に渡してあげましょう。
in
の後にリストを置くこともできました。こちらはrange関数
不要です。
このようにちょっとした違いがあるので混乱しそうなときは再度確認しましょう。