Python for文の使い方

同じ処理を何回も繰り返したい事がよくあります。そんな時にfor分を使います。

目次

Python for文の使い方

range()を使ったfor文

範囲を指定

range()を使うと指定した回数分の処理を繰り返す事が出来ます。

次の例ではrangeを10としprintを10回繰り返しています

■コード(例)

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

■実行結果

0
1
2
3
4
5
6
7
8
9

範囲とステップを指定

範囲とステップを指定して繰り返すことが出来ます。

次の例ではrange(a, b, c)を設定して、10から2ステップごとに20になるまで処理を繰り返しています。
 a: 開始値
 b: 終了値
 c: ステップ数

■コード(例)

for n in range(10, 20, 2):
         print(n)

■実行結果

10
12
14
16
18

配列を使ったfor文

配列を使って要素の分だけ繰り返す事が出来ます。

これは配列の読み出しによく使われる方法です。

■コード(例)

# 配列の定義
a = [10,  20, 30, 40, 50]

# for文
for n in a:
             print(a)

■実行結果

10
20
30
40
50

breakを使ったfor文(ループの中止)

breakを使うとfor文の繰り返しの最中に繰り返しを終了することが出来ます。

一般的にはbreak文は条件式とセットで使用されます。

次の例は配列の数字を順番に加算していき、合計が30を超えたらbreakでループを抜ける場合の例です。

■コード(例)

x = 0
n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for a in n:
       x = x + a
       if x > 30
             break
       print(x)

■実行結果

1
3
6
10
15
21
28

continueを使ったfor文(ループのスキップ)

continueを使うとfor文の繰り返しの最中に繰り返処理をスキップすることが出来ます

次の例では配列の数字を読み込み偶数を偶数の場合の処理(print文での表示)をスキップして次の処理を行う場合の例です。

■コード(例)

n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for a in n:
    if a % 2 == 0:
        continue
    print(a)

■実行結果

1
3
5
7
9

elseを使ったfor文

elseはfor文のbreakと一緒に使います。

下の例のようにbreakでforの繰り返し処理を抜けたなかった場合に限りelseブロクが実行されます。

for文を使ってマッチするものを検索し、マッチしなかった場合に、その旨を表示する場合に使えます。

■コード(例)

n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for a in n:
    if a > 20:
        break
    print(a)
else:
    print(“条件にマッチしませんでした”)

■実行結果

1
2
3
4
5
6
7
8
9
10
条件にマッチしませんでした

enumerate()関数を使ったfor文

enumerate()関数を使うと取得した要素と一緒にindex(インデックス)番号も取得することが出来ます。

配列の中身を確認して、あとで任意の要素を取り出す時に使えそうですね。

■コード(案)

n = [‘apple’, ‘book’, ‘tree’, ‘green’, ‘radio’]

for (i ,x) in enumerate(n):
    print(i, x)

■実行結果

0 apple
1 book
2 tree
3 green
4 radio

複数のfor文(ネスト)

for文の中にfor文を入れて処理を繰り返す(多重ループ)事が出来ます。

次のコードは2018年、2019年のそれぞれ1月~3月、更に1日~3日を表示する場合の例です。

■コード(案)

year = [2018, 2019]
for year in year:
    for month in range(1, 3):
        for date in (1, 2, 3):
            print(year, month, date)

■実行結果

2018 1 1
2018 1 2
2018 1 3
2018 2 1
2018 2 2
2018 2 3
2019 1 1
2019 1 2
2019 1 3
2019 2 1
2019 2 2
2019 2 3

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次