コンテンツへスキップ
Python例外情報
StopIteration

StopIteration

イテレータにそれ以上の要素がないことを示すために next() 関数によって発生します。

python

このエラーの原因

枯渇したイテレータに対して next() を呼び出しました。これは Python がイテレーションの終了を通知するための正常なメカニズムです。for ループは自動的にこれをキャッチしますが、手動の next() 呼び出しはキャッチしません。

修正方法

既定値を指定します: next(iterator, default_value)。next() を手動で呼ぶ代わりに for ループを使用します。next() を try-except StopIteration で囲みます。next() を呼ぶ前に、イテレーターに要素が残っているか確認します。

例

it = iter([]); next(it)  # StopIteration
公式ドキュメント

関連するエラーコード