In this article, we discuss Python Arrays and how to use them
Arrays in Python are Data Structures that can hold multiple values of the same type. Often, they are misinterpreted as lists or Numpy Arrays. Technically, Arrays in Python are distinct from both these. So let’s go ahead, and see what are Arrays in Python and how to implement them.
Here’s an overview of the topics which explains all the aspects dealing with arrays:
- Why use Arrays in Python?
- What is an Array in Python?
- Is Python list same as an Array?
- Creating an Array in Python
- Accessing an Element in Python
- How do you Find the Length of an Array?
- Basic Array Operations
- Adding/ Changing elements of an Array
- Deleting / Removing elements from an Array
- Looping through an array
Why use Arrays in Python?
A combination of Arrays, together with Python could save you a lot of time. As mentioned earlier, arrays help you reduce the overall size of your code, while Python helps you get rid of problematic syntax, unlike other languages.
example: If you had to store integers from 1-100, you won’t be able to remember 100 variable names explicitly, therefore, you can save them easily using an array.
Now that you are aware of the importance of arrays in Python, let’s study more about it in detail.
What is an Array in Python?
An array is basically a data structure that can hold more than one value at a time. It is a collection or ordered series of elements of the same type.
We can loop through the array items easily and fetch the required values by just specifying the index number. Arrays are mutable(changeable) as well, therefore, you can perform various manipulations as required.
Now, there is always a question that comes up to our mind –
Is Python list same as an Array?
Python Arrays and lists are store values in a similar way. But there is a key difference between the two i.e the values that they store. A list can store any type of value such as integers, strings, etc. Arrays, on the other hand, stores single data type values. Therefore, you can have an array of integers, an array of strings, etc.
Python also provides Numpy Arrays which are a grid of values used in Data Science. You can look into Numpy Arrays vs Lists to know more.
Creating an Array in Python:
Arrays in Python can be created after importing the array module as follows –
- import array as arr
The array(data type, value list) function takes two parameters, the first being the data type of the value to be stored and the second is the value list. The data type can be anything such as int, float, double, etc. Please make a note that arr is the alias name and is for ease of use. You can import without an alias as well. There is another way to import the array module which is –
- from array import *
This means you want to import all functions from the array module.
The following syntax is used to create an array.
a=arr.array(data type,value list)
a=array(data type,value list)
Example: a=arr.array( ‘d’ , [1.1 , 2.1 ,3.1] )
Here, the first parameter is ‘d’ which is a data type i.e. float, and the values are specified as the next parameter.
All values specified are of the type float. We cannot specify the values of different data types to a single array.
The following table shows you the various data types and their codes.
|Type code||Python Data Type||Byte size|
Accessing array elements in Python :
To access array elements, you need to specify the index values. Indexing starts at 0 and not from 1. Hence, the index number is always 1 less than the length of the array.
a=arr.array( 'd', [1.1 , 2.1 ,3.1] ) a
The output returned is the value, present at the second place in our array which is 2.1.
Let us have a look at some of the basic array operations now.
Basic array operations :
There are many operations that can be performed on arrays which are as follows –
Finding the Length of an Array
The length of an array is the number of elements that are actually present in an array. You can make use of len() function to achieve this. The len() function returns an integer value that is equal to the number of elements present in that array.
a=arr.array('d', [1.1 , 2.1 ,3.1] ) len(a)
Output – 3
This returns a value of 3 which is equal to the number of array elements.
Adding/ Changing elements of an Array:
We can add value to an array by using the append(), extend() and the insert (i,x) functions.
The append() function is used when we need to add a single element at the end of the array.
a=arr.array('d', [1.1 , 2.1 ,3.1] ) a.append(3.4) print(a)
array(‘d’, [1.1, 2.1, 3.1, 3.4])
The resultant array is the actual array with the new value-added at the end of it. To add more than one element, you can use the extend() function. This function takes a list of elements as its parameter. The contents of this list are the elements to be added to the array.
a=arr.array('d', [1.1 , 2.1 ,3.1] ) a.extend([4.5,6.3,6.8]) print(a)
array(‘d’, [1.1, 2.1, 3.1, 4.5, 6.3, 6.8])
The resulting array will contain all the 3 new elements added to the end of the array.
However, when you need to add a specific element at a particular position in the array, the insert(i,x) function can be used. This function inserts the element at the respective index in the array. It takes 2 parameters where the first parameter is the index where the element needs to be inserted and the second is the value.
a=arr.array('d', [1.1 , 2.1 ,3.1] ) a.insert(2,3.8) print(a)
array(‘d’, [1.1, 2.1, 3.8, 3.1])
The resulting array contains the value 3.8 at the 3rd position in the array.Arrays can be merged as well by performing array concatenation.
Array Concatenation :
Any two arrays can be concatenated using the + symbol.
a=arr.array('d',[1.1 , 2.1 ,3.1,2.6,7.8]) b=arr.array('d',[3.7,8.6]) c=arr.array('d') c=a+b print("Array c = ",c)
Array c= array(‘d’, [1.1, 2.1, 3.1, 2.6, 7.8, 3.7, 8.6])
The resulting array c contains concatenated elements of arrays a and b.
Now, let us see how you can remove or delete items from an array.
Removing/ Deleting elements of an array:
Array elements can be removed using pop() or remove() method. The difference between these two functions is that the former returns the deleted value whereas the latter does not.
The pop() function takes either no parameter or the index value as its parameter. When no parameter is given, this function pops() the last element and returns it. When you explicitly supply the index value, the pop() function pops the required elements and returns it.
a=arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6]) print(a.pop()) print(a.pop(3))
The first pop() function removes the last value 4.6 and returns the same while the second one pops the value at the 4th position which is 3.1 and returns the same.
The remove() function, on the other hand, is used to remove the value where we do not need the removed value to be returned. This function takes the element value itself as the parameter. If you give the index value in the parameter slot, it will throw an error.
a=arr.array('d',[1.1 , 2.1 ,3.1]) a.remove(1.1) print(a)
The output is an array containing all elements except 1.1.
When you want a specific range of values from an array, you can slice the array to return the same, as follows.
Slicing an array :
An array can be sliced using the: symbol. This returns a range of elements that we have specified by the index numbers.
a=arr.array('d',[1.1 , 2.1 ,3.1,2.6,7.8]) print(a[0:3])
array(‘d’, [1.1, 2.1, 3.1])
The result will be elements present at 1st, 2nd and 3rd position in the array.
Looping through an array:
a=arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6]) print("All values") for x in a: print(x) print("specific values") for x in a[1:3]: print(x)
The above output shows the result using for loop. When we use for loop without any specific parameters, the result contains all the elements of the array given one at a time. In the second for loop, the result contains only the elements that are specified using the index values. Please note that the result does not contain the value at index number 3.
Also Check out Python Advantages and Disadvantages
If you interested in the Entertainment genre please check this also thebiographys.com