[Python]ループ処理(for/while)の基本を理解する

先生

ループ処理で使われるfor/whileについて紹介します。

「ループ処理」とは

ループ処理は、条件が満たされるまで同じ処理を実行する場合に使用します。Pythonでは、「for」「while」を使います。

forの使い方

「for」では、ループが可能な値を指定してその中の要素数分処理を繰り返すことができます。

for ループ変数 in ループ可能な値:
    処理

「for」では、よくrange関数や配列を使ってループ処理を書きます。

range関数

「for」でrange関数を使う際は、range関数でループしたい回数を指定することで、その数分繰り返して処理ができます。

for ループ変数 in range(ループ回数):
    処理

for i in range(10):
    print(i)

# 出力
# 0
# 1
# 2
# ...
# 9

range関数は一般的にループ処理で使われるオブジェクトです。例えばrange(10)の値は以下のようなrangeオブジェクトとなっています。

x = range(10)

print(type(x))
# 出力
# <class 'range'>

print(x)
# 出力
# range(0, 10)

詳しい使用方法については、別記事で紹介したいと思います。

配列型

配列の各要素に対して処理をしたい場合は、「for」で配列型の値を指定することで、各要素の値にアクセスできます。ListやNumpyなどでもOKです。

for ループ変数 in 配列型:
    処理
※配列型:リスト、Numpyなど
# for文(配列型 - リスト)
x = ["apple", "lemon", "orange"]
for v in x:
    print(v)

# 出力
# apple
# lemon
# orange


# for文(配列型 - Numpy)
import numpy as np
y = np.array([x])

for v in x:
    print(v)

# 出力
# apple
# lemon
# orange

whileの使い方

「while」は、条件を指定し、その条件が真である間、処理が繰り返されます。無限ループにならないように注意が必要です。

while 条件式:
    処理
i = 0
while i < 3:
    print(i)
    i+=1

# 出力
# 0
# 1
# 2

強制終了(break)の使い方

ループ処理では、特定の条件で強制的にループを終了させたい場合があります。

break文を使用することで、強制的にループ処理を終了できます。

for 変数 in ループ可能な値:
    if ループ終了の条件:
        break

while 条件式:
    if ループ終了の条件:
        break

x = ["apple", "lemon", "orange"]
for v in x:
    print(v)
    if v == "lemon":
        break

# 出力
# apple
# lemon

スキップ(continue)の使い方

また、ループ処理では、特定の条件で処理を終了し、次のループへスキップしたい場合もあります。

continue文を使用することで、ループ処理をスキップすることができます。

for 変数 in イテレーション可能なオブジェクト:
    if ループ終了の条件:
        continue

while 条件式:
    if ループ終了の条件:
        continue
x = ["apple", "lemon", "orange"]
for v in x:
    if v == "lemon":
        continue
    print(v)

# 出力
# apple
# orange

まとめ

以上です。今回はループ処理で使われるfor/whileについて紹介しました。

for文やrange関数の詳細な使用方法は別記事で紹介しようと思います。