我在一个列表中嵌套了字典,它的样子如下。
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
key
确实没有定义,因为你从来没有创建过这样的变量。
你可以在数组中循环,然后循环你得到的每个对象的键。
for obj in data:
for obj_key in obj:
print(obj[obj_key]['ID18__c'])
你的键没有被定义,因为你在哪里创建的?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