Python访问字典在字典列表中

2024-06-09 18:36:33 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有下面的字典,里面有一个带列表的值,列表里面有一个字典。是否有方法使用键而不是列表索引调用列表中的字典值?列表中的字典可能会有所不同,因此索引值可能不总是提供正确的键值对。但如果我能使用这个键,我总能得到正确的值。

mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
print(mylist['mydict'][0]['A'])

电流输出:

Letter A

所需查询:

print(mylist['mydict']['A'])
Letter A

Tags: 方法列表字典mydict电流键值printletter
3条回答

请看下面的代码:

>>> mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
>>> for dictionary in mylist['mydict']:
...  try:
...   dictionary['A']
...  except KeyError:
...   pass
... 
'Letter A'

在列表中遍历字典,然后尝试调用A键。您捕获KeyError,因为字典中可能没有键。

现在你有三本字典在一本字典里的列表里。请改为尝试以下操作:

my_nested_dictionary = {'mydict': {'A': 'Letter A', 'B': 'Letter C', 'C': 'Letter C'}}
print(my_nested_dictionary['mydict']['A'])

请尝试以下代码生成新的dict

mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
newDict={}
for item in mylist['mydict']:
    newDict.update(item)
mylist['mydict']=newDict
print(mylist['mydict']['A'])

相关问题 更多 >