访问键值的嵌套字典,Python

问题描述 投票:-1回答:2

我在一个列表中嵌套了字典,它的样子如下。

data = [{'ID-1010': {'Id': '0060', 'ID18__c': 'abc'}},
{'ID-1020': {'Id': '0060', 'ID18__c': 'abd'}},
{'ID-1030': {'Id': '0060', 'ID18__c': 'abf'}}]

我需要在数据中循环,抓取ID18__c键的值 并将其保存在一个变量中。我已经尝试了以下方法。

for index, my_dict in enumerate(data):
    my_var = data[{key}['ID18__c']
    print(my_var)

键没有定义,我如何访问ID18__c的值? 我希望打印语句的输出结果是:

abc
abd
abf
python dictionary nested key-value
2个回答
3
投票

key 确实没有定义,因为你从来没有创建过这样的变量。

你可以在数组中循环,然后循环你得到的每个对象的键。

for obj in data:
    for obj_key in obj:
        print(obj[obj_key]['ID18__c'])

2
投票

你的键没有被定义,因为你在哪里创建的?key? 还有 data[{key}['ID18__c'] 不会工作。这看起来像是无效的语法。也不需要使用 enumerate(),因为你不需要任何索引来做这件事。

你需要做的是循环处理列表中的每个字典,然后循环处理字典中的值,这也是一个字典。然后你可以调用 'ID18__c' 键。

for dic in data:
    for v in dic.values():
        print(v['ID18__c'])

我们也可以直接在这些键上循环。

for dic in data:
    for k in dic:
        print(dic[k]['ID18__c'])

输出:

abc
abd
abf
© www.soinside.com 2019 - 2024. All rights reserved.