What’s New ?

The Top 10 favtutor Features You Might Have Overlooked

Read More

Python: Array vs List | 5 Main Differences (& When to use?)

  • Jan 06, 2021
  • 5 Minutes Read
Python: Array vs List | 5 Main Differences (& When to use?)

In python, both array and the list are used to store the data as a data structure. This data structure can be used for iteration and indexing. In this article, we will be studying what is an array and what is a list actually and the main difference between array and list in python with a complete table for Array vs List. Also, we will be learning when to use the array and list particularly.  

What is an Array?

An array is a data structure that holds fix number of elements and these elements should be of the same data type. Most of the data structure makes use of an array to implement their algorithm. There is two important part of the array: one is an Element: Each item store in the array is called an element and second is an Index: Every element in the array has its own numerical value to identify the element. These elements allocate contiguous memory locations that allow easy modifications in data. To declare an array in python language, we will use the array module.  

For example:

# creating an array containing the same data type elements  

import array 
arr = array.array('j', [a, b, c])   
# accessing elements of array 
for j in arr: 



If the data element of the array declaration is of a different data type, an exception “Incompatible data types” is thrown.

What is a List?

The list is the most important data type in python language. In Python language, the list is written as the list of commas separated values inside the square bracket. The most important advantage of the list is the elements inside the list is not compulsorily be of the same data type along with negative indexing. Also, all the operation of the string is similarly applied on list data type such as slicing, concatenation, etc. Also, we can create the nested list i.e list containing another list.

For example:

# creating a list of items with different data types 
sample_list = [10,"sid",['A','B']] 


 [10, 'sid', ['A', 'B']]

Difference between Array and List in Python

Below we have mentioned 5 main differences between array and list in python programming:

  1. Replaceability: Python list can be replaceable for array data structure only with few exceptional cases.
  2. Data Types Storage: Array can store elements of only one data type but List can store the elements of different data types too. Hence, Array stores homogeneous data values, and the list can store heterogeneous data values.
  3. Importing Module: List is the in-build data structure of python language hence no module or package is to be imported before using it. But the array is not an in-build data structure for python language. Hence, we need to import the “array” module before creating and using arrays.
  4. Numerical Operation: Array provides an advantage in performing Mathematical operations in the python language because the NumPy module provides us with an array structure to store data values and manipulate them easily. But the list on other hand does not reflect the results. The list is capable of performing the mathematical operations but they are less efficient in comparison to the array.
  5. Modification Capabilities: Array has very poor performance in resizing and modifying the memory location but the list on the other hand is an in-build data structure and hence can be resized and modify very easily and efficiently.

Python: Array vs List



Contains elements of different data types

Contains elements of same data types

Explicitly importing module is not required to declare a list

Need to import the module explicitly to declare an array

Cannot handle arithmetic operations

Can handle arithmetic operations

Can be nested inside another list

Must contain all elements of the same size

Mostly used in the shorter sequence of data elements

Mostly used in the longer sequence of data elements

Easy modifications like addition, deletion, and update of data elements are done

It is difficult to modify an array since addition, deletion and update operation is performed on a single element at a time

We can print the entire list without the help of an explicit loop

To print or access array elements, we will require an explicit loop

For easy addition of element, large memory storage is required

In comparison to the list, it is more compact in-memory size

When to use Array or List?

As we studied above, array and list have their own importance in python language. But the question always arises, when to use array or list?

So, when we are targeting to store the small sequence of elements and do not want to perform any mathematical operations, then the list is the preferred choice to make because list data structure will allow you to store an ordered and mutable (easily modification can be made) and indexed sequence storage of items without importing any explicit module.

As array data structure offers more efficient data storage of elements therefore it is considered to use an array when we need to deal with a long sequence of data.

Also, if we are looking forward to performing the numerical operations on a combination of elements, it is recommended to use an array as an array data structure that relies heavily on data analytics and data science.

Also, a python list is faster than a python array as python array are based on a python list itself because when we create the python list an array of pointers storing the references of elements in the list is created somewhere in the memory location.  


So, from the above studies, we get to know that array and list both have their own advantages and disadvantages. You also understood the difference between array and list in python, along with a table of differences for array vs list. We can use them according to the requirement of the data to be stored and the operations that are to be performed on the elements stored.

FavTutor - 24x7 Live Coding Help from Expert Tutors!

About The Author
Shivali Bhadaniya
I'm Shivali Bhadaniya, a computer engineer student and technical content writer, very enthusiastic to learn and explore new technologies and looking towards great opportunities. It is amazing for me to share my knowledge through my content to help curious minds.