反復処理(for)

Pythonの反復処理です。forの方です。

シーケンスなどのオブジェクトの全ての要素に対して、反復処理をします。C#のforeachのようなものですね。

目次

  1. シーケンス(リストや辞書など)の全要素に対して処理する
  2. 特定の回数だけ反復処理をする
  3. forループの実施例

シーケンス(リストや辞書など)の全要素に対して処理する

for target_list in expression_list :
    suite
変数 内容
target_list シーケンスから取り出される要素
expression_list 反復の対象となる要素の集まり
suite 実行文

else節がある場合は、全ての要素への処理が終わった後にelse節の処理が実行されます。

break文がある場合は、else節を実行せずに反復処理を終了します。

continue文がある場合は、その文以降の処理を省略して、次の要素に対する処理を開始します。

特定の回数だけ反復処理をする

C#などですとforとforeachという2つの文がありますが、Pythonの場合はどちらにもforを使います。 各要素に対する反復処理(foreach)は上記の処理です。 特定の回数だけ反復する処理(for)は、forにrangeオブジェクトを組み合わせて実現します。

for target_list in range(times):
    suite
変数 内容
target_list カウンタ
times 反復する回数
suite 実行文

rangeオブジェクトで頒布したい回数分の要素を持つシーケンスを作って、それらの各要素に対して反復処理をするわけです。

forループの実施例

試してみます。 まずは、単純な繰り返しです。

>>> for i in range(10):
...     print(i)
...
0
1
2
3
4
5
6
7
8
9

else節を付けてみます。

>>> for i in range(5):
...     print(i)
... else:
...     print('complete')
...
0
1
2
3
4
complete

continueを組み合わせてみます。iが3のときだけiをprintしないようにします。

>>> for i in range(5):
...     if i == 3:
...         continue
...     else:
...         print(i)
... else:
...     print('complete')
...
0
1
2
4
complete

breakしてみます。

>>> for i in range(10):
...     if i == 3:
...         continue
...     elif i == 5:
...         break
...     else:
...         print(i)
... else:
...     print('complete')
...
0
1
2
4

広告

Pythonカテゴリの投稿