您的问题是由以下事实引起的,即记录器中字典中的值的许多列表实际上都引用了相同的list_of_objects.将其与此代码进行比较:x = [1,2,3] # x refers to a listy = x # y is another reference to the same listx.append(4) # modify the list through xprint(y) # prints [1, 2, 3, 4], even though we accessed via y您的代码正在做同样的事情,但不是像xand这样的简单变量,而是y通过属性和字典值(Inventory.list_of_objects以及Inventory.logger.dict_of_positions[counter]每个counter值)引用列表。我不完全理解您的代码应该做什么,但我怀疑您可以通过更改increase_counter为list_of_objects使用list构造函数创建列表的副本来避免此问题:def increase_counter(self): self.logger.add_list_at_counter(self.counter, list(self.list_of_objects)) # new list self.counter += 1
添加回答
举报
0/150
提交
取消