Python 在迭代时修改嵌套的dict
在dict上迭代时允许哪些操作 在字典中添加或删除条目时使用iteritems()可能会引发运行时错误或无法迭代所有条目。 () 因此,即使更改了dict的大小,也可以更改现有值吗? 例如,当我迭代键[1,2]时,可以Python 在迭代时修改嵌套的dict,python,python-2.7,Python,Python 2.7,在dict上迭代时允许哪些操作 在字典中添加或删除条目时使用iteritems()可能会引发运行时错误或无法迭代所有条目。 () 因此,即使更改了dict的大小,也可以更改现有值吗? 例如,当我迭代键[1,2]时,可以 将[1][11][111][“data1”的值更改为“一” 完全删除[1][11] 添加[1][“十一”]={…} 如果不允许这样做,那么最佳做法是什么?我真的必须存储我想要操纵的值的路径,并在dict的副本中进行操纵吗?是否有其他映射类型可以使用,例如ElementTree
- 将[1][11][111][“data1”的值更改为“一”
- 完全删除[1][11]李>
- 添加[1][“十一”]={…}
{
1: {
11: {
111: {
"data1": 1,
"data2": 2
}
}
},
2: {
22: {
222: {
"data1": 11,
"data2": 22
}
}
}
}
你所描述的所有操作都没有触及外部指令。它们完全可以完成 如果你做了类似的事情
for key in outer_dict:
outer_dict[key] = something_different
那会触动外部的指令,但仍然可以。只要不在迭代的dict中插入或删除键,就不会触发重新灰化