【问题标题】:access nested dictionary that is the value of the key Python访问作为键 Python 的值的嵌套字典
【发布时间】:2020-08-08 06:12:08
【问题描述】:

我在一个列表中嵌套了字典,如下所示:

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 list dictionary nested key-value


    【解决方案1】:

    您的密钥未定义,因为您在哪里创建keydata[{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
    

    【讨论】:

      【解决方案2】:

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

      你可以遍历数组,然后循环对象你得到的每个对象的键:

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

      【讨论】:

        猜你喜欢
        • 2018-02-09
        • 2015-08-29
        • 1970-01-01
        • 2019-02-16
        • 2017-01-20
        • 2013-09-29
        • 2016-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多