forループ

執筆者:

カテゴリ:

1.基本的な使用方法

基本形
 リストの要素を順番に取り出して
 処理する
 items = [“りんご”, “バナナ”, “みかん”]
 for item in items:
  print(fruit)

実行結果
 りんご
 バナナ
 みかん
range() で回数を指定する
 range(5) は0から4まで (5回くり返す)
 range(開始,終了、ステップ)
   終了の数は含まれない
for i in range(5):
  print(i)

range(5) は0から4まで (5回くり返す)

range(2,7) は2,3,4,5,6の5回
よく使う制御
 breakとcontinue
break: 条件を満たしたらループを終了
 for n in range(1, 6):
  if n 3: ・・・3番目で終了
   break
   print(n)

実行結果
 1,2

continue:条件を満たした回をskip
 for n in range(1, 6):
  if n == 3: ・・・3番目をskip
   continue
  print(n)

実行結果
 1,2,4,5
よくあるまちがいインデントの位置ミス
 for i in range(3):
 print(i)

  インデントがないと
    ループの外で1個だけ実行

 for i in range(3):
  print(1) 

  インデントをそろえると
    ループの中でくり返す

リストを変更しながら回す
 nums [1, 2, 3, 4]
 for n in nums:
  if n % 2 == 0:
   nums.remove(n)

  要素を削除しながら回すと
    スキップや
    予期しない動作の原因に

 nums [1, 2, 3, 4]
 for n in nums[:]:
  if n % 2 == 0:
   nums.remove(n)

  コピーを作って回す
    スライス(:)を使用する

range() の終点の勘違い
 for i in range(1, 5):
  print(1)

   「5まで」と思いがちだが
     出力されるのは1, 2, 3, 4

 for i in range(1, 6);
  print(1)

   「5まで(含む)」にしたいなら
     終了を6にする

コメント

“forループ” への1件のフィードバック