Saya pada dasarnya ingin python yang setara dengan ini di C:
int a[x];
tetapi dengan python saya mendeklarasikan sebuah array seperti:
a = []
dan masalahnya adalah saya ingin menetapkan slot acak dengan nilai seperti:
a[4] = 1
tapi saya tidak bisa melakukannya dengan python, karena arraynya kosong.
python
arrays
dynamic-arrays
pengguna299648
sumber
sumber
a = [obj] * N
adalah bahwa object yang sama muncul di setiap elemen dari array. Jika ini adalah obj yang bisa berubah, dan Anda memodifikasi satu item, semua akan berubah. ... Tetapi, untuk contoh ini menggunakan bilangan bulat (atau tipe tetap lainnya), tidak ada bedanya. Atau, jika Anda hanya menetapkan ke elemen, itu juga tidak menjadi masalah. (Saya menyebutkannya karena saya telah melakukannya terlalu sering terlalu sering :))Anda tidak dapat melakukan apa yang Anda inginkan dengan Python (jika saya membacanya dengan benar). Anda perlu memasukkan nilai untuk setiap elemen dari daftar (atau seperti yang Anda sebut, array).
Tapi, coba ini:
Untuk daftar jenis lain, gunakan sesuatu selain 0.
None
seringkali juga merupakan pilihan yang baik.sumber
range(N)
sudah akan menghasilkan daftar jika Python <3.0.xrange(N)
Python 2.x. Saya tidak yakin bagaimana itu berbatasan dengan yang salah. Saya lebih sukaa = range(N)
karena setiap elemen dimulai dengan "default" yang masuk akal. Saya kira ini masalah opini.Anda bisa menggunakan numpy:
Contoh dari Empty Array :
sumber
Cukup nyatakan daftarnya dan tambahkan setiap elemen. Misalnya:
sumber
Anda juga dapat memperluasnya dengan metode daftar diperpanjang.
sumber
Jika Anda (atau pencari lain dari pertanyaan ini) sebenarnya tertarik untuk membuat array yang berdekatan untuk diisi dengan integer, pertimbangkan bytearray dan memoryivew :
sumber
sumber
Jika Anda benar-benar menginginkan array gaya C.
Perhatikan bahwa tidak ada konsep variabel yang tidak diinisialisasi dalam python. Variabel adalah nama yang terikat pada suatu nilai, sehingga nilai itu harus memiliki sesuatu. Pada contoh di atas, array diinisialisasi dengan nol.
Namun, hal ini jarang terjadi pada python, kecuali Anda benar-benar membutuhkannya untuk hal-hal tingkat rendah. Dalam kebanyakan kasus, Anda lebih baik menggunakan daftar kosong atau array numpy kosong, seperti yang disarankan jawaban lain.
sumber