2014-10-17 98 views
0

這可能有一個簡單的答案。我有一個類,看起來像這樣:實時創建類的實例

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 

本課程的更新解決方案,每次的同一個實例,我需要的是3個不同的「解決方案」的實例:

sol1.s_list = [0,2] 

sol2.s_list = [1,2] 

sol3.s_list = [4,5] 

,但我得到:

sol.s_list = [0,2,1,2,4,5] 

注意:這是一個較大問題的一部分,「鏈」的數量是可變的。

+0

製作's_list'實例變量,而不是類變量。 – WKPlus 2014-10-17 05:05:25

回答

2

你只需要做出一個s_list實例變量,而不是類變量:

class Solution(object): 
    def __init__(self): 
     self.s_list = [] 

    def add_number(self, number): 
     self.s_list.append(number)