嗨我有下面的字典,其中有一个列表值,列表中有一个字典。有没有办法使用键而不是列表索引调用列表中的字典值?列表中的字典可能会有所不同,因此索引值可能并不总是提供正确的键值对。但如果我能够使用密钥,我总能得到正确的值。
mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
print(mylist['mydict'][0]['A'])
当前输出:
Letter A
所需查询:
print(mylist['mydict']['A'])
Letter A
答案 0 :(得分:7)
目前,字典中的列表中有3个字典。请尝试以下代码:
my_nested_dictionary = {'mydict': {'A': 'Letter A', 'B': 'Letter C', 'C': 'Letter C'}}
print(my_nested_dictionary['mydict']['A'])
答案 1 :(得分:2)
看看下面的代码:
>>> 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
因为在字典中密钥可能不存在。
答案 2 :(得分:2)
尝试使用以下代码生成新的dict。
import {HttpClient, HttpHeaders} from '@angular/common/http';
答案 3 :(得分:1)
使用发电机怎么样?
item = next(item['A'] for item in mylist['mydict'] if 'A' in item)
答案 4 :(得分:0)
只有在原始数据格式为:
时才可以mylist = {'mydict': {'A': 'Letter A','B': 'Letter C','C': 'Letter C'}}
所以没有嵌入列表 - 这似乎没有添加有意义的结构?