Python: список различных пустых множеств

Я новичок в python и пытаюсь написать код для сита Eratosthenes. Для этого я должен инициализировать список пустых множеств. Я пробовал делать это factors=[set()]*1001, но это создает мелкую копию. Я хочу глубокую копию, чтобы factors[i] и factors[j] указывали на разные наборы. Есть ли простой синтаксис для этого?

Ответ 1

factors = [set() for index in xrange(1001)]

Ответ 2

Как всегда.

factors = [set() for x in range(1001)]

Ответ 3

Это в значительной степени стандартный способ сделать это.

factors = [set() for x in xrange(1001)]

Лучше использовать xrange() вместо range(), потому что xrange() является генератором.