Pada dasarnya, daftar Python sangat fleksibel dan dapat menyimpan data yang sepenuhnya heterogen, sewenang-wenang, dan mereka dapat ditambahkan dengan sangat efisien, dalam waktu konstan yang diamortisasi . Jika Anda perlu mengecilkan dan menumbuhkan daftar Anda secara efisien dan tanpa kerumitan, mereka adalah cara untuk melakukannya. Tapi mereka menggunakan lebih banyak ruang daripada C array .
The array.arrayjenis, di sisi lain, hanya bungkus tipis pada C array. Itu hanya dapat menyimpan data homogen, semua dari jenis yang sama, dan hanya menggunakan sizeof(one object) * lengthbyte memori. Sebagian besar, Anda harus menggunakannya ketika Anda perlu mengekspos array C ke ekstensi atau panggilan sistem (misalnya, ioctlatau fctnl).
array.arrayjuga merupakan cara yang masuk akal untuk mewakili string yang dapat berubah dalam Python 2.x ( array('B', bytes)). Namun, Python 2.6+ dan 3.x menawarkan byte string yang dapat diubah sebagai bytearray.
Namun, jika Anda ingin melakukan matematika pada array data numerik yang homogen, maka Anda jauh lebih baik menggunakan NumPy, yang dapat secara otomatis mengubah operasi pada array multi-dimensi yang kompleks.
Untuk membuat cerita panjang pendek : array.arrayberguna ketika Anda membutuhkan array data C homogen untuk alasan selain melakukan matematika .