Pythonの基礎 ~ループ~
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