我有一堂课
class Tree(object):
def __init__(self):
self.health = 100
我在这里使用它:
tree_list += [Tree()] * random.randint(4, 12)
这使列表包含多个Tree()类。问题是,当我在tree_list中的一项更改“健康”时:
tree_list[0].health -= 25
它更改tree_list中每个项目中的“健康”值。有人可以帮我弄清楚为什么它更改了每个项目而不是我打算更改的项目的价值吗?任何帮助,将不胜感激。 :D
答案 0 :(得分:0)
我通过更改此方法解决了该问题:
tree_list += [Tree()] * random.randint(4, 12)
对此:
for a in range(random.randint(4, 12)):
tree_list.append(Tree())
可能不是最好的方法,但现在有效。