私の場合、プログラムで繰り返し処理を行うことがとても多いです。
あまりに多すぎるので、JavaScriptの「for (let i = 0; i < a.length; i++){}」という繰り返し処理が1秒で書けるパソコンになっています。
Pythonにも「for」文はあり、JavaScriptとは書き方が違います。
Pythonでのfor文について、調べたことを書き出してみました。
Pythonにおけるfor文の書き方は?
for 変数名 in イテラブルオブジェクト:
処理
変数名は任意なので、自分で決めて良いです。
「イテラブルオブジェクト」という見慣れないワードが出てきました。公式ドキュメントの用語集によると、iterable(イテラブル)とは、「(反復可能オブジェクト) 要素を一度に1つずつ返せるオブジェクトです。」とあります。
配列(リスト)も「イテラブルオブジェクト」のひとつで、JavaScriptでいう「forEach()」のように使えます。
alphabet = ['a','b','c','d','e','f','g']
for a in alphabet :
print(a)
# ⇒ a,b,c,d,e,f,g
回数を指定してfor文を実行するには?
「range()」を使います。
これは範囲をイテラブルオブジェクトで出力できるものです。
書き方は、「range(start,end,step)」で、「start < end」なら「start ≦ N < end」の範囲を取ります。
- start:開始の値を設定する。省略すると「0」。
- end:終了の値を設定する。
- step:値の増減値を設定する。省略すると「1」。
for a in range(5):
print(a)
# ⇒ 0,1,2,3,4
for a in range(10,0,-2):
print(a)
# ⇒ 10,8,6,4,2
まとめ
Pythonのfor文は「for a in b:」という基本構文で、「range()」を使ってイテラブルオブジェクトを作れば回数を指定した繰り返し処理が可能です。
基本は他のプログラミング言語と一緒なので、「:(コロン)」の付け忘れやブロックに気をつければ良いですね。
回数が決まっていない場合はこちら 回数が決まっている場合の繰り返し処理は「for」を使うことが分かりました。 じゃあ、回数が決まっていない場合は? これには、ちょうど良い制御文があります。 Pythonで条件に当てはまる ... 続きを見る
Pythonで繰り返し処理をするには?(条件に当てはまるまでループしたい場合)