[英]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.