如何在 Python 中尋找可迭代物件中的第一個匹配元素?
Dec 10, 2024 pm 05:24 PMFinding 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

熱門文章
兩個點博物館:邦格荒地地點指南
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
兩個點博物館:邦格荒地地點指南
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)