特定の条件を満たす反復可能から最初の項目を取得するには、次の方法を実行できます。
スローする必要がある人向けStopIteration の場合 (一致が見つからない場合):
next(x for x in the_iterable if x > 3)
デフォルト値を返したいシナリオ (例: None):
next((x for x in the_iterable if x > 3), default_value)
イテレータの .next() メソッドを使用できます。このメソッドは、イテレータがすぐに終了した場合 (つまり、反復可能な項目が条件を満たさない場合)、すぐに発生します。反復を停止します。この状況を気にしない場合 (たとえば、条件を満たす項目が少なくとも 1 つ確実に存在することがわかっている場合)、 .next() を直接使用できます。
本当に気になる場合は、itertools、for...: ブレーク ループ、または genexp を使用して関数を実装できます。ただし、これらの代替案は大きな付加価値を提供しないため、最初に提案したより単純なバージョンを使用することをお勧めします:
def first(the_iterable, condition = lambda x: True): for i in the_iterable: if condition(i): return i
以上がPython のイテラブル内で最初に一致する要素を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。