Python3 – 繰り返し~ループ

for

標準形

for [変数] in [オブジェクト]:の形で変数がオブジェクトの要素を1つずつ取り出して実行する。

range関数とfor文

for文でrange関数を使うと、多数回のループを簡易に書ける。このとき、rangeの終了値は指定した値-1になることに注意。

enumerateによるインデックスの取得

Pythonのforループでは、リストなどの要素を直接取り出せるので表現が簡潔だが、逆に引数の値(配列の順序値など)が欲しいときがある。そのような場合は、enumerateを使ってインデックスを取得することができる。

enumerateでリストのインデックスが得られる

zipによる複数リストの並行処理

複数のリストの要素を同時に並行して取り出したいとき、zip()関数を使うとよい。

zipによる複数リストの並行ループ

enumerateとzipの複合処理

zipで複数のコレクションの要素を取り出しつつ、enumerateで全体の番号も取得したいとき。zipで取得する要素をタプルにする。

forループの最初と最後だけ処理を変える

forループでは各ループごとに同じ処理内容が繰り返されるが、これを最初と最後だけ変更したい場合の処理を考えてみる。

forループの最初と最後だけ処理を変えたい

while

while [条件式]:で条件式が真である間ループが実行される。

else~終了時の処理

else:ブロックを書くと、forやwhileのループ終了時にその内容が実行される。ループの後に実行文を書くのと動作は変わらないが、終了時処理をより明確にできる。

 continue

continue文は、それ以降の処理を飛ばしてループの先頭に飛ぶ。

次の例では、iが偶数の時はそれ以降のprint文を実行せずに次のステップに移る。

break

break文は、そのbreak文が含まれている一番内側のループから抜け出す。

次の例では、内側のループでjが3を超えるたびにループを終了し、外側の次のステップへ移る。外側のループはiが1を超えたときにそれ以降の処理をせずループを終了する。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です