在 Pandas 中将百分位数计算为一列

您的问题是由以下事实引起的,即记录器中字典中的值的许多列表实际上都引用了相同的list_of_objects.


将其与此代码进行比较:


x = [1,2,3]      # x refers to a list

y = x            # y is another reference to the same list

x.append(4)      # modify the list through x

print(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


米琪卡哇伊
浏览 171回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python