Python基礎

Pythonのイテレータでhas_next()を使う

Pythonの基本・入門講座リスト

Pythonのイテレータには、Javaのhas_nextのようなメソッドがないです。

そのため、最後まで到達したときに、StopIteration例外が投げられてイテレーションが終了し、StopIteration例外をキャッチする必要があります。

また、もう一つnextで値を抽出する場合に、以下のように例外の場合の値を指定して抽出する方法もあります。

value = next(iterator, None) ← next(iterator)がエラーの場合にNoneが返されます。

  • イテレータの例外発生時の対応をしない場合

  • 例外をキャッチする場合

  • 例外が発生した場合に別の値を返す場合