首頁 >後端開發 >Python教學 >如何在Python字典列表中有效率地搜尋特定字典?

如何在Python字典列表中有效率地搜尋特定字典?

Linda Hamilton
Linda Hamilton原創
2024-12-05 15:18:10916瀏覽

How to Efficiently Search for a Specific Dictionary in a Python List of Dictionaries?

使用Python 在清單中搜尋字典

以字典列表為例:

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

問題:

如何搜尋並檢索包含「name」鍵等於「Pam」?

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

print(match)
# {"name": "Pam", "age": 7}
解決方案:

使用生成器表達式,您可以迭代字典列表並過濾出您需要的字典:

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

if match:
    print(match)
else:
    print("No matching dictionary found.")
處理不存在:

如果您要搜尋的名稱可能不存在於清單中,您可以使用預設參數的next() 函數:

  • 替代方法:
index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

print(f"Matching dictionary at index {index}")
  • 您可以列舉用於取得符合字典索引的清單:
您可以在生成器表達式中使用其他篩選條件來執行更複雜的搜尋。

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

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