在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中文網其他相關文章!