有没有一种 Pythonic 方法来创建克隆项目列表



请考虑以下代码:

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实例呢?

解决方案:使用列表理解

class SomeClass:
    def __init__(self):
        self.foo = None
some_list = [SomeClass() for _ in range(5)]

相关内容

  • 没有找到相关文章

最新更新