Python 将元素添加到列表会更改所有元素
我对以下代码有问题Python 将元素添加到列表会更改所有元素,python,Python,我对以下代码有问题 my_list = [] for i in xrange(1, 13): my_list.append(MyObject(year=year, month=i)) 我不知道为什么在调用append方法时,列表中的所有元素都被新元素替换。所以当循环完成时,列表中有12个相同的元素。请帮助。我怀疑问题出在MyObject类上 是否将年和月存储为类属性而不是实例变量?我怀疑问题出在MyObject类上 您是否将年和月存储为类属性而不是实例变量?循环
my_list = []
for i in xrange(1, 13):
my_list.append(MyObject(year=year, month=i))
我不知道为什么在调用append方法时,列表中的所有元素都被新元素替换。所以当循环完成时,列表中有12个相同的元素。请帮助。我怀疑问题出在MyObject类上
是否将年和月存储为类属性而不是实例变量?我怀疑问题出在MyObject类上
您是否将年和月存储为类属性而不是实例变量?循环后的
my_list
是什么样子?您对MyObject的实现是什么?我们现在没有什么可以处理的。你如何定义,所有的元素都是一样的?他们有相同的身份证吗?或者他们只有相同的年份和月份?检查它们是否具有不同的id(通过调用函数id(您的\u对象)
)。如果是,问题出在MyObject的\uuuuu init\uuuuuu
中请包括MyObject的实现我的列表
在循环后是什么样子?您对MyObject的实现是什么?我们现在没有什么可以处理的。你如何定义,所有的元素都是一样的?他们有相同的身份证吗?或者他们只有相同的年份和月份?检查它们是否具有不同的id(通过调用函数id(您的\u对象)
)。如果是,问题就出在MyObject的\uuuuu init\uuuuu
中。请包括MyObject的实现,这是一个很大的问题:)Uff,这是一个很大的问题:)