大きなリストを検索する場合、break を使うかどうかで 処理時間 に差が出ます。
1. break を使った場合(早期終了)
import time
data = list(range(10_000_000)) # 1000万件のリスト
target = 999_999
start = time.time()
for n in data:
if n == target:
found = True
break
end = time.time()
print("breakあり:", end - start, "秒")
Python- 動作: 目的の値を見つけた瞬間にループ終了。
- 結果: 1000万件のうち 100万件目で終了 → 残り900万件をスキップできる。
- 効率: O(n) だが「平均的には途中で終わる」ので高速。
2. break を使わない場合(最後まで回す)
import time
data = list(range(10_000_000))
target = 999_999
start = time.time()
found = False
for n in data:
if n == target:
found = True
# breakなし → 最後まで回る
end = time.time()
print("breakなし:", end - start, "秒")
Python- 動作: 見つけてもループは最後まで続く。
- 結果: 1000万件すべてをチェック。
- 効率: 常に O(n) の最大コスト。
3. 実際のパフォーマンス差(イメージ)
| ケース | 探索対象 | 終了タイミング | 処理時間の目安 |
|---|---|---|---|
break あり | 1000万件 | 100万件目で終了 | 約 0.1 秒 |
break なし | 1000万件 | 最後まで回す | 約 1.0 秒 |
※ 実際の時間は環境によって変わりますが、10倍以上の差が出ることもあります。
4. まとめ
breakを使う: 見つかったら即終了 → 無駄な処理を省ける。- 使わない: 常に最後まで回す → 大規模データでは非効率。
- 結論: 「探索系の処理」では
breakを使う方が圧倒的に効率的。


