Pythonはループ処理が独特だったような気がして、なんとなくChatGPT4oに教えてもらいました。
とても詳しく教えてくれたので、そのまま転記してみようと思います(雑)。
1. forループ
for
ループは、シーケンス(リスト、タプル、文字列など)の要素を1つずつ取り出して処理するために使われます。
使い方はシンプルで、繰り返したいリストや範囲を指定するだけです。
例1: リストを使ったforループ
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
このコードはリスト内の各要素(果物の名前)を順に出力します。
出力結果:
apple
banana
cherry
例2: rangeを使ったforループ
range()
関数を使うことで、特定の範囲内の整数を使ったループも簡単に行えます。
for i in range(5):
print(i)
この例では、0から4までの数値が順に出力されます。
出力結果:
0
1
2
3
4
2. whileループ
while
ループは、条件がTrueである限り、何度でも処理を繰り返します。
無限ループに注意しつつ、条件をうまく設定することで、柔軟な繰り返し処理が可能です。
例1: whileループの基本
count = 0
while count < 5:
print(count)
count += 1
このコードは、count
が5になるまで繰り返し処理を行います。
出力結果:
0
1
2
3
4
3. ループを途中で終了する: break
break
文を使うと、ループを途中で終了することができます。これは、特定の条件を満たしたときにループを止めたい場合に便利です。
例1: breakを使ったforループ
for i in range(10):
if i == 5:
break
print(i)
i
が5になった時点でループが終了します。
出力結果:
0
1
2
3
4
4. 特定の条件をスキップする: continue
continue
文を使うと、その時点でのループをスキップし、次の繰り返しに進むことができます。
例1: continueを使ったforループ
for i in range(5):
if i == 2:
continue
print(i)
このコードは、i
が2のときだけ処理をスキップし、それ以外の数値を出力します。
出力結果:
0
1
3
4
5. ループの応用例: ネストされたループ
ループをネストすることで、2次元データやリストのリストなどを扱うことができます。ネストされたループは、より複雑なデータの処理に役立ちます。
例1: 2重ループ
for i in range(3):
for j in range(2):
print(f'i: {i}, j: {j}')
出力結果:
i: 0, j: 0
i: 0, j: 1
i: 1, j: 0
i: 1, j: 1
i: 2, j: 0
i: 2, j: 1
まとめ
Pythonのループ処理は、非常に直感的で柔軟性に富んでいます。
for
ループを使ってリストや範囲の要素を処理したり、while
ループで条件に基づく処理を繰り返したりと、多くのシチュエーションで利用できます。
さらに、break
やcontinue
を使うことで、ループの動作を細かく制御することも可能です。
これらの基本的な概念を押さえることで、より効率的なコードを書けるようになるでしょう。