根据python中字典列表中的键查找字典
我有一个python字典列表。 如何根据密钥获取特定词典 输入示例:根据python中字典列表中的键查找字典,python,dictionary,Python,Dictionary,我有一个python字典列表。 如何根据密钥获取特定词典 输入示例: dict_input = [{"name":"kishore", "age":23}, {"name":"xyz", "age":21}] 现在,我如何让字典中的键名和键值kishore不经过整个列表 我期待一个O(1)查找。不迭代列表就不可能得到一个项目 使用生成器表达式和: 如果需要多次查找,并且不希望迭代整个列表项,请构建字典 >>> dict_input = { ... "kishore":
dict_input = [{"name":"kishore", "age":23}, {"name":"xyz", "age":21}]
现在,我如何让字典中的键名和键值kishore不经过整个列表
我期待一个O(1)查找。不迭代列表就不可能得到一个项目 使用生成器表达式和: 如果需要多次查找,并且不希望迭代整个列表项,请构建字典
>>> dict_input = {
... "kishore": {"name":"kishore", "age":23},
... "xyz": {"name":"xyz", "age":21}
... }
>>> dict_input["kishore"]
{'age': 23, 'name': 'kishore'}
>>> dict_input["no-such-name"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'no-such-name'
>>> dict_input.get("no-such-name", "?")
'?'
>>dict\u输入={
…“基肖尔”:{“姓名”:“基肖尔”,“年龄”:23},
…“xyz”:{“姓名”:“xyz”,“年龄”:21}
... }
>>>dict_输入[“kishore”]
{'age':23,'name':'kishore'}
>>>dict_输入[“无此名称”]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
KeyError:“没有这样的名称”
>>>dict_input.get(“没有这样的名称,“?”)
'?'
“不浏览整个列表”,找到正确的目录后立即停止?当然,最坏的情况仍然是遍历整个列表。在搜索未排序的列表时,如何获得O(1)查找?据我所知,这是不可能的。为了使这个答案真正有帮助,你还应该解释一下。谢谢你的意见。我从你的陈述中得到了我所需要的
>>> dict_input = {
... "kishore": {"name":"kishore", "age":23},
... "xyz": {"name":"xyz", "age":21}
... }
>>> dict_input["kishore"]
{'age': 23, 'name': 'kishore'}
>>> dict_input["no-such-name"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'no-such-name'
>>> dict_input.get("no-such-name", "?")
'?'