通过for循环修改OrderedDict列表

时间:2018-05-08 15:51:16

标签: python dictionary for-loop ordereddictionary

我试图遍历OrderedDict列表并重新定义这些OrderedDict元素。

为了说明,请考虑清单:

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

我想在所有dicts上添加一个新密钥“key2”。

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

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

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

在for循环之外没有记住这个变化(也许是因为我试图重新定义迭代器?)

1 个答案:

答案 0 :(得分:3)

你可以这样做:

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