动态创建类实例

2024-04-24 22:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能有一个简单的答案。我有一节课是这样的:

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]

注意:这是一个更大问题的一部分,“链”的数量是可变的。你知道吗


Tags: 实例答案inselfaddnumberchainfor