👏

Pythonの基礎 ~ループ~

2024/06/28に公開

0.はじめに

こちらの記事ではPythonのループ処理について学べます。
ループと聞けばなんとなくどんな処理なのかイメージできると思います。
言葉通りで特定の処理を繰り返し行うのがループになります。
前回からたまに出てくる配列などで多く使われます。

1.ループ処理

ループ処理ではforというものを使って処理を書いていきます。
他にもループ処理のやり方はありますが、これが一番使うループ処理になりますので、
こちらの記事ではforのみを紹介していきます。

1.1 forの実装

よくある使い方として、配列の中身をループで取り出す処理があるので、
そちらの紹介していきます。
基本的な構文はfor 変数名 in ループしたい変数名: になります。

fruits = ["リンゴ", "メロン", "ブドウ"]
for fruit in fruits:
  print(fruit)

これを実行すると

リンゴ
メロン
ブドウ

と表示されます。
forでは一体何が行われているかというと、
fruitsの変数に入っている配列の中身を1つずつ読み取って、配列のデータの数でループをして
fruitとして値を出力しています。
本来配列の値を取る場合はfruits[0]のように変数名[番号]で取得します。
しかし、それを配列の数だけ番号していたらキリがありません。
そのため、配列のデータを取得して検証したい場合などにforを使用します。

1.2 range

1.1で実装したのは、指定の配列の長さだけループする方法でした。
今回は指定した数だけループをする処理の実装方法を紹介します。
基本的な構文はfor 変数 in range(数字):になります。

for index in range(5):
  print(index)

これを実行すると

0
1
2
3
4

と表示されます。
ここで覚えておいて欲しいのは、配列と同様に最初は0からスタートすることです。
配列の1番目の値を取得したい場合は0を指定するのと同様です。

1.3 breakとcontinue

ループの途中で処理を中断したい場合はbreak
ループの途中で処理をスキップしたい場合はcontinue
を使用します。
これらを実際によく使う機能なので、覚えておきましょう。

fruits = ["リンゴ", "メロン", "ブドウ"]

# break
for fruit in fruits:
  if fruit == "メロン":
    break
  print(fruit)

こちらを実行すると

リンゴ

のみが表示されます。
ループ処理の途中で配列の中のデータがメロンと一致したらbreakする条件を追加したため、
1番目のりんごは表示
2番目のメロンで条件が一致したため処理が終了
3番目は実行されない
という処理の流れになります。

次はcontinueのケースを実装していきます。

fruits = ["リンゴ", "メロン", "ブドウ"]

# continue
for fruit in fruits:
  if fruit == "メロン":
    continue
  print(fruit)

こちらを実行すると

リンゴ
ブドウ

と表示されます。
先ほどとは違いブドウが表示されるようになりました。
continueはスキップする処理なので、メロンの時はその回のループ処理はスキップされます。
なので、次にブドウの処理が実行され、print処理までたどり着くので、
リンゴとブドウが表示されます。

enumerate

今までのループ処理では、値を取り出す方法指定の回数だけループする方法をやってきました。
enumerateでは値を取り出しつつ、ループの回数を取得してくれます。
こちらも実際にプログラムを組むときによく使うので、紹介していきます。
基本的な構文はfor 数字, 変数名 in enumerate(ループしたい変数名):になります。

fruits = ["リンゴ", "メロン", "ブドウ"]

for index, fruit in enumerate(fruits):
  print(f"{index}番目: {fruit}")

こちらを実行すると

0番目: リンゴ
1番目: メロン
2番目: ブドウ

と表示されます。
今までやった値の表示と数字の表示を同時に実現してくれるのがenumerateになります。
注意点として、forの次は数字、値の順番なっていますので注意してください。

Discussion