是否有Python方式创建克隆项目列表?

时间:2019-01-10 19:15:20

标签: python list instance clone construction

考虑以下代码:

class SomeClass:
    def __init__(self):
        self.foo = None

some_list = [SomeClass()] * 5

此代码的问题是some_list的所有5个项目都引用SomeClass的相同实例。如果我做some_list[0].foo = 7,则得到some_list[1].foo等于7,依此类推。

那么如何实例化列表中的N个不同的SomeClass实例?

1 个答案:

答案 0 :(得分:3)

解决方案:使用列表理解

class SomeClass:
    def __init__(self):
        self.foo = None

some_list = [SomeClass() for _ in range(5)]