- What is Python Array?
- Array Representation
- Creating Python Array
- Accessing Python Array Elements
- Slicing Python Arrays
- Changing and Adding Elements
- Removing Python Array Elements
- Python Lists vs Array
- When to Use Array?
- Why use Array in Python?
- Finding Length of an Array
- Array Concatenation
- Conclusion
What is Python Array?
An array is defined as a collection of items sorted at contiguous memory locations. An array is like a container that holds similar types of multiple items together, this helps in making calculation easy and faster. The combination of arrays helps to reduce the overall size of the program. If you have a list of items that are stored in multiple variables, for example,
Animal1 = “Dog” Animal2 = “Tiger” Animal3 = “Lion” Animal4 = “Elephant” Animal5 = “Deer”
Then you can combine these all in a single variable in form of an array.
In python, the array can be handled by a module called “array”, which is helpful if we want to manipulate a single type of data value. Below are two important terms that can help in understanding the concept of an array.
- Element: Each item stored in an array is called an element.
- Index: The location of each element is defined by a numerical value called index. Each element in an array has an index value by which it can be identified.
Array Representation
The array can be declared in multiple ways depending upon the programming language we are using. But few points are important that need to consider while working with an array:
- The starting index of an array is 0
- Each element in an array is accessible by its index
- The length or size of an array determines the capacity of the array to store the elements
The syntax for Array Representation
arrayName = array.array (dataType, [array,items])
Creating Python Array
In Python, the array can be created by importing the array module. You can now create the array using array.array(). Instead of using array.array() all the time, you can use “import array as arr”, the arr will work as an alias and you can create an array using arr.array(). This alias can be anything as per your preference.
variable_name = array(typecode, [value_list])
For Example:
import array as arr
myarray = arr.array ( ‘i’, [1, 2, 3, 4, 5])
In the above code, the letter ‘i’ represents the type code and the value is of integer type.
The below tables show the type codes:
Type code | Python type | C Type | Min size(bytes) |
‘u’ | Unicode character | Py_UNICODE | 2 |
‘b’ | Int | Signed char | 1 |
‘B’ | Int | Unsigned char | 1 |
‘h’ | Int | Signed short | 2 |
‘l’ | Int | Signed long | 4 |
‘L’ | Int | Unsigned long | 4 |
‘q’ | Int | Signed long long | 8 |
‘Q’ | Int | Unsigned long long | 8 |
‘H’ | Int | Unsigned short | 2 |
‘f’ | Float | Float | 4 |
‘d’ | Float | Double | 8 |
‘i’ | Int | Signed int | 2 |
‘I’ | Int | Unsigned int | 2 |
Accessing Python Array Elements
We can access the Array elements by using its index. The index is always an integer.
Syntax: variable_name [index_number]
Example:
import array as ar
height = ar.array (‘i’ , [165, 166, 154, 176, 144])
print (height[3])
print (height[0])
Output:
176
165
The above figure represents the array element and its indexing. In array, the indexing starts with 0, so as per the example the value at height[3] is 176 and the value at height[0] is 165.
Remember the last index of an array is always one less than the length of an array. If n is the length of an array then n-1 will be the last index of that array.
In Python, you can access the element using negative indexing such as the last element of an array will have the index -1, the second last element will have index -2, and so on.
Example:
import array as ar
height = ar.array (‘i’ , [165, 166, 154, 176, 144])
print (height[-3])
print (height[-1])
Output:
154
144
Slicing Python Arrays
The slicing operator “ : “ helps to access the range of elements in an array.
Example:
import array as ar
value = ar.array (‘i’, [5, 2, 7, 1, 34, 54, 22, 7, 87, 2¸ 53, 22, 0, 11])
print (value [1:5])
print (value [7:])
print (value [:])
print (value [:-5])
Output :
array (‘i’ , [2, 7, 1, 34])
array (‘i’ , [22, 7, 87, 2¸ 53, 22, 0, 11])
array (‘i’ , [5, 2, 7, 1, 34, 54, 22, 7, 87, 2¸ 53, 22, 0, 11])
array (‘i’ , [5, 2, 7, 1, 34, 54, 22, 7, 87])
Changing and Adding Elements
Lists are mutable which means we can change and add the elements after the lists have been defined. Let’s first see how we can change the elements from the lists.
Changing List Elements
If we want to change a single element in a list we can change it by using its index. Let’s see the approach for the same.
my_list [0] = value
my_list [4] = value
In the above statements, we are changing the value of the element present at index 0 and at index 4. This will replace the old element with the new element. The value defines the new element that we want to enter into the list.
Example
import array as arr
list = arr.array(‘i', [2, 5, 6, 2, 6 ,1, 7, 8, 12, 45, 4]
list [0] = 111
list [4] = 232
list [-1] = 0
print (list)
Output
array(‘i’ [111, 5, 6, 2, 232, 1, 7, 8, 12, 45, 0])
If we want to change all the items in a list with an increment or decrement in the values then we can change all the elements present in a list.
Example
import array as arr
list = arr.array(‘i', [2, 5, 6, 2, 6 ,1, 7, 8, 12, 45])
print ("Original List")
print (list)
print ("Updated List")
list = [i+5 for i in list]
print (list)
Output
Original List
arr.array(‘i’, [2, 5, 6, 2, 6, 1, 7, 8, 12, 45])
Updated List
array(‘i’, [7, 10, 11, 7, 11, 6, 12, 13, 17, 50])
In the above example, we have incremented the value of the list by 5 using one single line. This method is known as a list comprehension.
Adding List Elements
We can add elements to lists in three ways:
- append() : append() method can add single element or an object in a list.
Syntax : list.append (value)
Example
>>>import array as arr
>>> list = arr.array(‘i', [2, 5, 6, 2, 6, 1, 7, 8, 12, 45])
>>> list.append (100)
>>> print (list)
Output
array(‘i’, [2, 5, 6, 2, 6, 1, 7, 8, 12, 45, 100])
In the above example, we have added a new value of 100 to the existing list. The new appended value will be added to the last in the list.
We can also append one list into another list using the append() method.
Example
>>>import array as arr
>>> list_first = arr.array(‘i', [5, 10, 15, 20])
>>> list_second = arr.array(‘i', [2, 4, 6, 8])
>>> list_first.append (list_second)
>>> print (list_first)
Output
array(‘i’, [5, 10, 15, 20, [2, 4, 6, 8]])
In above example we have appended the second list values in first list. Here second list acts as a single object.
- insert() : insert() method inserts the element at a specific position
Syntax : list.insert ( index_value , element)
Example
>>>import array as arr
>>> list_first = arr.array(‘i', [5, 10, 15, 20])
>>> list_first.insert (0, 1)
>>> print (list_first)
Output
array(‘i’, [1, 5, 10, 15, 20])
In the above example, we have inserted the value 1 at index 0.
- extend(): extend() method helps to add multiple elements at the end of the lists at the same time.
Both append() and extend() add elements at the end of the list, but extend() can add multiple elements together with is not possible in append().
Syntax : list.extend ([value1, value2, value3, ….. ])
Example
import array as arr
list = arr.array(‘i', [2, 5, 6, 2, 6 ,1])
print ("Original List")
print (list)
print ("Updated List")
list.extend arr.array(‘i', ([39, 239]))
print (list)
Output
Original List
array(‘i’, [2, 5, 6, 2, 6, 1])
Updated List
array(‘i’, [2, 5, 6, 2, 6, 1, 39, 239])
Removing Python Array Elements
We can remove elements from an array using three methods, let’s see each of them with examples.
- remove(): The remove() method will remove only the first occurrence of an item. That means if the same items are present multiple times in a list the remove() method will only remove the first occurrence of that item.
Syntax: list.remove (value)
Example
color = arr.array(‘i', [2, 5, 3, 7, 8, 2, 1 ])
color.remove( 2 )
print( color )
Output
array(‘i’, [5, 3, 7, 8, 2, 1])
- pop(): pop() method is another method to remove elements from the lists. It performs the same tasks as the remove() method, but the only difference is that the remove() method takes the value as an argument, and the pop() method accepts the index as an argument. We need to give the index as an argument and the pop() method will pop out the value present at that particular index. The pop() method returns the value present at that index.
Syntax : list.pop (index_value)
Example
>>> color = arr.array(‘i', [2, 5, 3, 7, 8, 2, 1 ])
>>> color.pop(4)
>>> print(color)
Output
8
array(‘i’, [2, 5, 3, 7, 2, 1])
In the above example, the pop() method deletes the elements present at index 4 and returns the value present on that index that is ‘Blue’
The pop() method raises “IndexError” if the index specified is out of range.
- del: The del operator is similar to the pop() method with one important difference. The del method takes the index as an argument and remove that element from the list but does not return any value. But the pop() method returns the value present at that index. Similar to the pop() method, del also raises “IndexError” if the index or the indices specify are out of range.
Syntax : del list (index_value)
Example
>>> color = arr.array(‘i', [2, 5, 3, 7, 8, 2, 1 ])
>>> del color[5]
>>> print(color)
Output
array(‘i’, [2, 5, 3, 7, 8, 1 ])
Python Lists vs Array
Array | Lists |
An array can store similar types of data elements | The list can store different types of data elements |
Need to import a module explicitly for declaration | No need to import a module explicitly for declaration |
An array is more compatible than a list | Lists are less compatible than arrays to store the data |
We can print the array elements without using explicit looping | We can print the entire list using explicit looping |
Array consumes less memory size | Lists consume more memory size for easy addition |
An array is preferred when we need to store a large amount of data | Lists are preferred when we need to store a shorter sequence of data |
An array can handle arithmetic operations directly | The list cannot handle arithmetic operations directly |
In array, it must contain either all nested elements of the same size | The list can be nested to have different kinds of elements |
When to Use Array?
An array is useful when we want to use many variables of the same type. It helps to allocate memory dynamically and saves memory. With the use of arrays, we can easily implement linked lists, stacks, queues, graphs, trees, etc.
An array is used while implementing sorting algorithms such as bubble sort, insertion sort, selection sort, etc. We can make use of an array to store elements. An array is also used for CPU scheduling and performing matrix operations.
Why use Array in Python?
Array helps to save time. We can store a large amount of data without declaring separate integers of each number or element. With the help of Python, we can reduce the lines of code. An array is useful in implementing data structures such as stack, queue, linked list, etc. Array performs great numerical operations where the list cannot directly handle the math operations.
Array are mutable which means we can change the elements of an array whenever needed, therefore we can perform various manipulation whenever required.
Finding Length of an Array
To find the exact numbers of elements in an array we can use the built-in method len(). This method is used to specify the total number of elements in an array.
Example
>>> import array as ar
>>> length = ar.array ('i', [3, 5, 1, 7, 0])
>>> print (len(length))
Output
5
In the above example, the total number in an array is 5 so the length of the array is 5.
Array Concatenation
In array concatenation, we use concatenate arrays with the help of the symbol “+”.
Example
>>> import array as ar
>>> first = ar.array ('i', [3, 5, 1, 7, 0])
>>> second = ar.array ('i', [12, 16, 19, 20])
>>> add = ar.array ('i')
>>> add = first + second
>>> print ( " Concatenated Array = ", add)
Output
Concatenated Array = array(‘i’, [3, 5, 1, 7, 0, 12, 16, 19, 20])
In the above example, we have concatenated two arrays into a single array. As we know array holds a similar type of values so the concatenated values should be of the same type.
Conclusion
So we have seen how we can use arrays in python and also came to know all the basic manipulation we can do on arrays. So, this brings us to the end of our article Python Array.