使用任意條件過濾字典
字典提供了在 Python 中組織和儲存資料的強大方法。然而,經常需要根據特定條件過濾掉某些元素。
考慮一個場景,您有一個座標為(x, y) 的點字典:
points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)}
要建立一個包含x 和y 值都小於5 的點的新字典,您可以先嘗試基於循環的方法:
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 3:
points_small = {k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
Python 2 (2.7 ):
points_small = {k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
字典推導式為過濾字典元素提供了簡潔易讀的語法。與傳統的基於循環的方法相比,它們可以顯著增強程式碼的可維護性和效能。
以上是如何在Python中根據任意條件有效過濾字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!