• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Python / Pythonのイテレータでhas_next()を使う

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

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

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

あるいは、nextで値を抽出する場合に、以下のように第2引数を指定して抽出する方法もある。


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

  • イテレータの例外発生時の対応をしない場合
fruits = ['Apple', 'Grape', 'Banana', 'Lemon']
iter_fruits = iter(fruits)

fruit = next(iter_fruits)
while(fruit):
    print(fruit)
    fruit = next(iter_fruits)

# lemonまで到達すると、その次に例外が発生する
  • 例外をキャッチする場合
fruits = ['Apple', 'Grape', 'Banana', 'Lemon']

iter_fruits = iter(fruits)

try:
    fruit = next(iter_fruits)
    while(fruit):
        print(fruit)
        fruit = next(iter_fruits)
except StopIteration: # 例外をキャッチ
    pass

  • 例外が発生した場合に別の値を返す場合
fruits = ['Apple', 'Grape', 'Banana', 'Lemon']

iter_fruits = iter(fruits)

fruit = next(iter_fruits, None)# 第2引数を与える
while(fruit):
    print(fruit)
    fruit = next(iter_fruits, None) # 例外が発生するとNoneを返して、ループを抜けることができる

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 2
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 3
    Python未経験だが、フリーランスの案件に採用さ…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Python講座
【Udemy】Python入門講座(0からPythonの基礎を体系的に学んで、生成AIでバイブコーディング)
受講生3000人ほどの人気講座。<strong>Pythonの基礎から生成AI活用</strong>...
詳細 ▶

Footer

利用規約