访问嵌套词典的其他几个词典列表中的元素

时间:2020-02-26 17:38:10

标签: python dictionary

我正在遍历一个很大的嵌套字典(最初是json)来重命名某些键。此刻,我设法逐一遍历列表内的字典中的列表中的每个元素(位于另一个字典中)。对于主字典(json)中的每个项目,列表中的元素数量都不同。

以下内容有效,但不可扩展。

for el in a:
  el['name']['info'][0]['details'] = el['name']['info'][0].pop('DT')
  el['name']['info'][1]['details'] = el['name']['info'][1].pop('DT')

我也尝试过此操作,但似乎不起作用

for el in a:
  el['name']['info']['details'] = el['name']['info'].pop('DT')

我在那里可以写些什么将更改应用于这些词典列表中的所有元素吗?

1 个答案:

答案 0 :(得分:1)

扩展TrebledJ在他的评论中所说的内容将为您提供以下信息:

a = [{
        'name': {
            'info': [
                {'DT': 'abc'},
                {'DT': 'def'}
            ]
        }
    }]

print(a)


for el in a:
    for info_el in el['name']['info']:
        info_el['details'] = info_el.pop('DT')

print(a)

具有输出:

[{'name': {'info': [{'DT': 'abc'}, {'DT': 'def'}]}}]
[{'name': {'info': [{'details': 'abc'}, {'details': 'def'}]}}]