简体   繁体   English

通过for循环修改OrderedDict的列表

[英]Modify list of OrderedDict through for loop

I am trying to loop over a list of OrderedDict and redefine these OrderedDict elements. 我试图遍历OrderedDict的列表并重新定义这些OrderedDict元素。

To illustrate, consider the list: 为了说明,请考虑以下列表:

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

I want to add a new key "key2" on all the dicts. 我想在所有字典上添加新的键“ key2”。

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

But that will add this key at the end of the OrderedDict, while I want to add it at the beginning, so I try this: 但这会在OrderedDict的末尾添加此键,而我想在其开头添加它,所以我尝试这样做:

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

The change is no remembered outside the for loop (maybe because I am trying to redefine the iterator?) 在for循环之外,该更改没有被记住(也许是因为我试图重新定义迭代器?)

You can do: 你可以做:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM