Есть ли Pythonic способ создать список клонированных предметов?

Рассмотрим следующий код:

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

some_list = [SomeClass()] * 5

Проблема с этим кодом состоит в том, что все 5 пунктов some_list ссылаются на тот же случай SomeClass, Если я сделаю some_list[0].foo = 7тогда я получаю some_list[1].foo равно 7, так далее.

Так как создать экземпляр N разные SomeClass экземпляры в списке?

1 ответ

Решение

Решение: использовать понимание списка

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

some_list = [SomeClass() for _ in range(5)]
Другие вопросы по тегам