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

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

Susan Sarandon
發布: 2024-12-10 17:24:11
原創
724 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板