Temel olarak, Python listeleri çok esnektir ve tamamen heterojen, keyfi veriler tutabilir ve amortize edilmiş sabit zamanda çok verimli bir şekilde eklenebilir . Listenizi zamanla verimli ve sorunsuz bir şekilde küçültmeniz ve büyütmeniz gerekiyorsa, bunlar da gidilecek yoldur. Ancak C dizilerinden çok daha fazla alan kullanıyorlar .
array.arrayTürü, diğer taraftan, Cı dizileri üzerinde sadece ince bir sarıcı. Yalnızca aynı türden olan homojen verileri tutabilir ve bu nedenle yalnızca sizeof(one object) * lengthbayt bellek kullanır . Çoğunlukla, bir C dizisini bir uzantıya veya sistem çağrısına (örneğin ioctlveya fctnl) maruz bırakmanız gerektiğinde kullanmalısınız .
array.arrayPython 2.x ( ) içinde değiştirilebilir bir dizeyi temsil etmenin de makul bir yoludur array('B', bytes). Ancak, Python 2.6+ ve 3.x gibi değişken bir bayt dizesi sunar bytearray.
Ancak, homojen bir sayısal veri dizisi üzerinde matematik yapmak istiyorsanız , karmaşık çok boyutlu dizilerdeki işlemleri otomatik olarak vektörleştirebilen NumPy'yi kullanmaktan çok daha iyidir.
Uzun bir hikaye kısaltmak için : matematik yapmaktan başkaarray.array nedenlerle homojen bir C veri dizisine ihtiyacınız olduğunda kullanışlıdır .