首頁 >後端開發 >Python教學 >如何在 Python 中尋找可迭代物件中的第一個匹配元素?

如何在 Python 中尋找可迭代物件中的第一個匹配元素?

Susan Sarandon
Susan Sarandon原創
2024-12-10 17:24:11717瀏覽

How to Find the First Matching Element in an Iterable in Python?

Finding the First Matching Element in an Iterable

To retrieve the initial item from an iterable that meets a特定條件,您可以採取以下方法:

Python 2.6 和Python 3

對於需要引發StopIteration(如果找不到匹配項)的情況:

next(x for x in the_iterable if x > 3)

對於要傳回預設值的場景(例如None):

next((x for x in the_iterable if x > 3), default_value)

Python 2.5 及更早版本

可以使用迭代器的.next()方法,如果迭代器立即結束(即,iterable 中沒有專案滿足條件),它將立即引發 StopIteration。如果您對此情況不關心(例如,您知道肯定至少有一個符合條件的項目),則可以直接使用 .next()。

如果您確實關心,可以使用 itertools,for...: break 循環或 genexp 來實現您的函數。然而,這些替代方案並沒有提供太多附加價值,因此建議使用您最初提出的簡單版本:

def first(the_iterable, condition = lambda x: True):
    for i in the_iterable:
        if condition(i):
            return i

以上是如何在 Python 中尋找可迭代物件中的第一個匹配元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn