Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据python中字典列表中的键查找字典_Python_Dictionary - Fatal编程技术网

根据python中字典列表中的键查找字典

根据python中字典列表中的键查找字典,python,dictionary,Python,Dictionary,我有一个python字典列表。 如何根据密钥获取特定词典 输入示例: dict_input = [{"name":"kishore", "age":23}, {"name":"xyz", "age":21}] 现在,我如何让字典中的键名和键值kishore不经过整个列表 我期待一个O(1)查找。不迭代列表就不可能得到一个项目 使用生成器表达式和: 如果需要多次查找,并且不希望迭代整个列表项,请构建字典 >>> dict_input = { ... "kishore":

我有一个python字典列表。 如何根据密钥获取特定词典

输入示例:

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", "?")
'?'