如何使用字典推導式依條件過濾 Python 字典?

Barbara Streisand
發布: 2024-11-13 02:27:02
原創
755 人瀏覽過

How Can I Filter Python Dictionaries Based on Conditions Using Dict Comprehensions?

使用字典推導式依照條件過濾字典

給定一個有鍵值對的字典,通常會依照條件過濾掉特定項目在某些標準上。 Python 字典提供了多種過濾方法,包括使用理解技術。

字典理解方法

過濾字典的一個優雅的解決方案是透過字典理解。此語法允許您透過將條件應用於原始字典中的每個項目來建立新字典。產生的字典將僅包含滿足指定條件的鍵和值。

例如,過濾包含點座標('x','y')的字典(點)並選擇那些值小於5 對於'x' 和'y',您可以使用以下程式碼:

{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
登入後複製

在2.7 之前的Python 版本中,您可以使用iteritems() 而不是items():

{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
登入後複製

使用列表推導式進行項目過濾

雖然字典推導式提供了一種簡潔的方法,但您也可以使用列表推導式來過濾項目。但是,此方法需要額外的步驟來建構新字典:

points_small = {}
for item in [i for i in points.items() if i[1][0] < 5 and i[1][1] < 5]:
    points_small[item[0]] = item[1]
登入後複製

此程式碼首先建立滿足條件的項目列表,然後透過迭代該列表來建構新字典 (points_small)。雖然不如使用字典理解那麼有效,但當在創建新字典之前需要進一步操作過濾的項目時,它會很有用。

以上是如何使用字典推導式依條件過濾 Python 字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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