Gerçekten C tarzı bir dizi istiyorsanız
import array
a = array.array('i', x * [0])
a[3] = 5
try:
[5] = 'a'
except TypeError:
print('integers only allowed')
Python'da başlatılmamış değişken kavramı olmadığını unutmayın . Değişken, bir değere bağlı bir addır, bu nedenle değerin bir şeye sahip olması gerekir. Yukarıdaki örnekte dizi sıfırlarla başlatılmıştır.
Bununla birlikte, düşük seviyeli şeyler için gerçekten ihtiyacınız olmadıkça, bu python'da nadirdir. Çoğu durumda, diğer yanıtların önerdiği gibi, boş bir liste veya boş bir numpy dizisi kullanmak daha iyidir.
a = [obj] * N
, dizinin her bir öğesinde aynı nesnenin görünmesidir. Değişebilir bir nesne ise ve bir öğeyi değiştirirseniz, hepsi değişecektir. ... Ancak, tamsayılar (veya başka bir değişmez tür) kullanan bu örnek için, hiçbir fark yaratmaz. Ya da sadece elemanlara atarsanız, bu da sorun olmaz. (Bunu tam olarak bunu çok sık yaptığım için söylüyorum :))