考虑以下代码:
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
实例?
答案 0 :(得分:3)
解决方案:使用列表理解
class SomeClass:
def __init__(self):
self.foo = None
some_list = [SomeClass() for _ in range(5)]