Sorting Arrays in Python: Techniques and Methods

Explore how to sort arrays in Python with various techniques. Although the array module lacks a built-in sorting function, you can sort arrays using sorting algorithms, the sort() method from lists, or the built-in sorted() function. This guide provides practical methods and examples for arranging array elements in order.



Python - Sort Arrays

Python's array module defines the array class, similar to arrays in Java or C/C++. Unlike built-in Python sequences, arrays are homogeneous collections of either strings, integers, or floats.

The array class doesn't have a built-in function to sort its elements, but sorting can be achieved using one of the following approaches:

  • Using a sorting algorithm
  • Using the sort() method from List
  • Using the built-in sorted() function

Python Array Sorting

Sort Arrays Using a Sorting Algorithm

Implementing the classical bubble sort algorithm to sort an array involves using two nested loops to swap elements into a sorted order.

Example

import array as arr

a = arr.array('i', [10, 5, 15, 4, 6, 20, 9])
for i in range(0, len(a)):
for j in range(i + 1, len(a)):
if a[i] > a[j]:
  temp = a[i]
  a[i] = a[j]
  a[j] = temp
print(a)
Output

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

Sort Arrays Using sort() Method of List

Even though the array module doesn't have a sort() method, Python's built-in List class does. First, declare an array and obtain a list object from it using the tolist() method. Then, use the sort() method to sort the list and create another array using the sorted list.

Example

import array as arr

# creating array
orgnlArray = arr.array('i', [10, 5, 15, 4, 6, 20, 9])
print("Original array:", orgnlArray)

# converting to list 
sortedList = orgnlArray.tolist()

# sorting the list
sortedList.sort()

# creating array from sorted list
sortedArray = arr.array('i', sortedList)
print("Array after sorting:", sortedArray)
Output

Original array: array('i', [10, 5, 15, 4, 6, 20, 9])
Array after sorting: array('i', [4, 5, 6, 9, 10, 15, 20])

Sort Arrays Using sorted() Method

The sorted() function is a built-in function that can sort an array. The function returns a new list containing all items from the iterable in ascending order. Set the reverse parameter to True to get a descending order of items.

Example

import array as arr

a = arr.array('i', [10, 5, 15, 4, 6, 20, 9])
sorted_array = arr.array('i', sorted(a))
print(sorted_array)
Output

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