Если вам действительно нужен массив в стиле C
import array
a = array.array('i', x * [0])
a[3] = 5
try:
[5] = 'a'
except TypeError:
print('integers only allowed')
Обратите внимание, что в python нет концепции неинициализированной переменной. Переменная - это имя, привязанное к значению, поэтому это значение должно что-то иметь. В приведенном выше примере массив инициализируется нулями.
Однако в python это нечасто, если только вам это не нужно для низкоуровневых вещей. В большинстве случаев вам лучше использовать пустой список или пустой массив numpy, как предлагают другие ответы.
a = [obj] * N
- это то, что один и тот же объект obj появляется в каждом элементе массива. Если это изменяемый объект, и вы измените один элемент, все будет изменено. ... Но для этого примера с использованием целых чисел (или любого другого неизменяемого типа) это не имеет значения. Или, если вы просто присваиваете элементы, это тоже не проблема. (Я упоминаю об этом, потому что я делал именно это слишком часто :))