Инициализировать список на определенную длину в 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, но она не добавляет многого к слайдам.