Инициализировать список на определенную длину в Python

Как инициализировать список с 10-кратным значением по умолчанию в Python?

Я ищу красивый способ инициализации пустого списка с определенным диапазоном. Поэтому создайте список, содержащий 10 нулей или что-то, чтобы убедиться, что мой список имеет определенную длину.

Ответ 1

Если значение "значение по умолчанию", которое вы хотите, является неизменным, предложение @eduffy, например. [0]*10, это достаточно хорошо.

Но если вы хотите, скажем, список из десяти dict s, не используйте [{}]*10 - это даст вам список с тем же изначально-пустой dict десять раз, не десять различных. Скорее используйте [{} for i in range(10)] или подобные конструкции, чтобы создать десять отдельных dict, чтобы составить список.

Ответ 2

работает умножение списка.

>>> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Ответ 3

В своем выступлении о внутренних контейнерах основных контейнеров в Python на PyCon 2012 Рэймонд Хеттингер предлагает использовать [None] * n для предварительного выделения нужной длины.

Слайды доступны как PPT или через Google

Вся колода слайдов довольно интересная. Презентация доступна на YouTube, но она не добавляет многого к слайдам.