0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonの for-else を完全理解! found == False との違いを比較

Last updated at Posted at 2025-02-08

Pythonの for ループには else 節を付けることができ、特定の条件が満たされなかった場合に処理を実行するのに便利です。一般的に for-else は、ループが 途中で break されなかった場合 に else の処理が実行されます。

for-else の基本構造

for item in iterable:
    if 条件:
        break  # 条件が満たされたらループを終了
else:
    # break されなかった場合のみ実行

for-else の例

  • 例えば、リスト内に特定の値があるかどうかを調べ、見つかった場合に処理を止めるコードを考えます。
numbers = [1, 3, 5, 7, 9]

for num in numbers:
    if num == 5:
        print("Found 5!")
        break  # 5が見つかったらループ終了
else:
    print("5 was not found.")
  • 実行結果
Found 5!

break によって else は実行されません。

  • リストに値がない場合 (else が実行される)
numbers = [1, 3, 7, 9]

for num in numbers:
    if num == 5:
        print("Found 5!")
        break
else:
    print("5 was not found.")
  • 実行結果
5 was not found.

found == False での比較

for-else を使わずに、found 変数を使って同じ処理を実装することもできます。

numbers = [1, 3, 7, 9]

for index, num in enumerate(numbers):
    if num == 10:
        print(f"10が見つかりました! インデックス: {index}")
        break
else:
    print("10はリストにありませんでした。")

  • 実行結果
10はリストにありませんでした。

for else を使う理由

  • enumerate(numbers) を使うことで、index も取得できる!
  • if で 10 を見つけたら break してすぐ終了。
  • もし break されなかったら(10 がなかったら)else が実行される!

特に 「値が見つからなかった場合のみ実行する処理」 を書くときは、for-else のほうがスッキリ書けますね。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?