首頁 >後端開發 >Python教學 >如何在Python字典列表中有效率地找到特定鍵值對?

如何在Python字典列表中有效率地找到特定鍵值對?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-06 18:42:12991瀏覽

How to Efficiently Find Specific Key-Value Pairs in a List of Python Dictionaries?

在Python 中搜尋特定的字典鍵值

給定一個字典列表,通常會搜尋特定的鍵值來檢索對應的字典。例如,考慮以下列表:

[
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]

要尋找名為「Pam」的字典,我們可以使用產生器表達式:

dicts = [
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]

matching_dict = next(item for item in dicts if item["name"] == "Pam")

next() 函數傳回生成器中的第一項,是名為「Pam」的字典。使用生成器表達式可以實現高效迭代,而無需將所有結果儲存在記憶體中。

對於項目可能不存在的情況,我們可以透過使用帶有參數的next() 函數來提供預設值:

matching_dict = next((item for item in dicts if item["name"] == "Pam"), None)

或者,我們可以使用枚舉找到匹配項的索引:

matching_index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

以上是如何在Python字典列表中有效率地找到特定鍵值對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn