这可能有一个简单的答案。我有一个看起来像这样的课程:
class Solution(object):
s_list = []
def add_number(self, number):
self.s_list.append(number)
和一些代码:
chain_1 = [0,1,4]
chain_2 = [2,5,6]
solutions = []
for x in chain_1:
solution = Solution()
solution.add_number(x)
for y in chain_2:
if x < y:
solution.add_number(y)
solutions.append(solution)
break
这当然每次更新同一个解决方案实例,我需要的是&#34;解决方案&#34;的三个不同实例:
sol1.s_list = [0,2]
sol2.s_list = [1,2]
sol3.s_list = [4,5]
但我明白了:
sol.s_list = [0,2,1,2,4,5]
注意:这是一个更大问题的一部分,&#34;链数&#34;是可变的。
答案 0 :(得分:2)
您只需要将s_list
设为实例变量而不是类变量:
class Solution(object):
def __init__(self):
self.s_list = []
def add_number(self, number):
self.s_list.append(number)