使用條件函數過濾字典
Python 字典在資料操作任務中無所不在,提供了一種基於條件儲存和擷取資訊的強大方法。在按鍵上。但是,在某些情況下,您可能需要根據特定條件提取字典內容的子集。讓我們探討一個範例,我們想要過濾字典以選擇 x 和 y 座標均小於 5 的點。
原始方法
一種可能的方法涉及迭代遍歷字典項,檢查每個點的座標,並選擇滿足條件的點。這種方法雖然簡單,但可能很冗長且容易出錯。
points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)} 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]
優雅的解決方案
Python 使用字典理解提供了更優雅的解決方案。字典推導式可讓您根據指定條件建立新字典,語法為:{k: v for k, v in existing_dict if condition}。在我們的例子中,我們可以使用以下語法來建立過濾字典:
{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
Python 2 相容性
在Python 2 中,使用iteritems()方法而不是items()。 Python 2 的程式碼為:
{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
這個緊湊且富有表現力的語法可以輕鬆操作字典並根據條件提取特定資料。 Python 的字典推導式提供了一個強大的工具,可以有效率、簡潔地過濾和轉換字典內容。
以上是如何在 Python 中使用條件函數過濾字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!