通过for循环修改OrderedDict列表

Modify list of OrderedDict through for loop

我正在尝试遍历 OrderedDict 的列表并重新定义这些 OrderedDict 元素。

为了说明,考虑列表:

dict_list = [
    OrderedDict([("key1",1)]),
    OrderedDict([("key1",2)])
]

我想在所有字典上添加一个新键"key2"。

for var in dict_list:
     var["key2"] = 1

但这会在 OrderedDict 的末尾添加这个键,而我想在开头添加它,所以我尝试这样做:

for var in dict_list:
     var = OrderedDict([("key2",1)] + list(var.items()))

在 for 循环之外没有记住更改(可能是因为我正在尝试重新定义迭代器?)

你可以这样做:

var["key2"] = 1
var.move_to_end("key2", last=False)