Python - Reverse Arrays



In this chapter, we shall explore the different ways to rearrange the given array in the reverse order of the index. In Python, array is not one of the built-in data types. However, Python's standard library has array module. The array class helps us to create a homogenous collection of string, integer or float types.

The syntax used for creating array is −

import array
obj = array.array(typecode[, initializer])

Let us first create an array consisting of a few objects of int type −

import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])

The array class doesn't have any built-in method to reverse array. Hence, we have to use another array. An empty array "b" is declared as follows −

b = arr.array('i')

Reverse an Array by Traversing Elements in Reverse Order

Next, we traverse the numbers in array "a" in reverse order, and append each element to the "b" array −

for i in range(len(a)-1, -1, -1):
b.append(a[i])

The array "b" now holds numbers from original array in reverse order.

Example

Here is the complete code to reverse an array in Python −

import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])
b = arr.array('i')
for i in range(len(a)-1, -1, -1):
   b.append(a[i])
print (a, b)

It will produce the following output

array('i', [10, 5, 15, 4, 6, 20, 9]) array('i', [9, 20, 6, 4, 15, 5, 10])

Reverse an Array Using reverse() Method

We can also reverse the sequence of numbers in an array using the reverse() method in list class. List is a built-in type in Python.

We have to first transfer the contents of an array to a list with tolist() method of array class −

a = arr.array('i', [10,5,15,4,6,20,9])
b = a.tolist()

We can call the reverse() method now −

b.reverse()

If we now convert the list back to an array, we get the array with reversed order,

a = arr.array('i')
a.fromlist(b)

Example

Here is the complete code

from array import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])
b = a.tolist()
b.reverse()
a = arr.array('i')
a.fromlist(b)
print (a)

It will produce the following output

array('i', [10, 5, 15, 4, 6, 20, 9])
Advertisements