【Python】ループ処理とは?range関数を使うループ処理とリストのループ処理について紹介

20230821_Python プログラミング言語

ループ処理を使えるようになると表現できる幅が広がりますよね。
最近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関数を使いましょう。

組み込み関数
Python インタプリタには数多くの関数と型が組み込まれており、いつでも利用できます。それらをここにアルファベット順に挙げます。,,,, 組み込み関数,,, A, abs(), aiter(), all(), anext(), any(), ascii(),, B, bin(), bool(), breakpoint...
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関数不要です。

このようにちょっとした違いがあるので混乱しそうなときは再度確認しましょう。