मूल रूप से, पायथन सूचियाँ बहुत लचीली होती हैं और पूरी तरह से विषम, मनमाना डेटा रख सकती हैं, और उन्हें परिशोधन स्थिर समय में बहुत कुशलता से जोड़ा जा सकता है। यदि आपको अपने सरणी को समय-कुशलतापूर्वक और बिना किसी परेशानी के सिकोड़ने और विकसित करने की आवश्यकता है, तो वे जाने का रास्ता हैं। लेकिन वे C सरणियों की तुलना में बहुत अधिक स्थान का उपयोग करते हैं।
दूसरी ओर, array.array प्रकार, C सरणियों पर सिर्फ एक पतला आवरण है। यह केवल सजातीय डेटा, सभी एक ही प्रकार के हो सकता है, और इसलिए यह केवल sizeof(one object) * length बाइट्स of मेमोरी का उपयोग करता है।
तो एक सूची इस प्रकार हो सकती है:[1, 'ए', [1, 2], 'स्ट्रिंग']
लेकिन एक सरणी में केवल एक ही प्रकार की चीजें हो सकती हैं:[1, 2, 3, 4]