To sort 2D array in Python, use either sort() or sorted() function. The sort() is a built-in list method that sorts the list ascending by default. It sorts the list by the length of the values.
The 2D array is a type of array in which an array consists of several arrays inside it. Generally, we can sort the one-dimensional array by simply using the sort() function, but for sorting the 2D array, we can give the column based on which we want to sort.
Python does not have a built-in array data type, but we can portray the list as an array in this example.
Using sort() function
The list sort() is a built-in Python function that can sort a List in ascending, descending, or user-defined order.
Syntax
list.sort(reverse=True|False, key=myFunc)
Arguments
reverse | It is an optional argument. The reverse=True will sort the list descending. Default is reverse=False |
key | It is an optional argument. It is a function to specify the sorting criteria(s) |
Program to sort the 2d array using the sort() function
list = [['Raj', 10], ['Ram', 8], ['Anil', 3], ['Shyam', 7]]
list.sort()
print(list)
Output
[['Anil', 3], ['Raj', 10], ['Ram', 8], ['Shyam', 7]]
In this program, we created an array in which we consist of several other arrays. Each array inside the outer array consists of name and age. Then we used the sort function to sort the array.
The sort() function sorts the array based on the first column, the name column. We can see the output as:
In this example, we can see that an array is sorted based on the name column. Now, let’s see how to sort the array based on other columns.
lis = [['Raj', 10], ['Ram', 8], ['Anil', 3], ['Shyam', 7]]
lis.sort(key=lambda i: i[1])
print(lis)
Output
[['Anil', 3], ['Shyam', 7], ['Ram', 8], ['Raj', 10]]
We used the same list as input. We have a sort() function to sort the array in the next line. Inside the function argument, we used the key as the first column. This key describes the column based on which the sort function should sort. In this program, we saw how to sort the array based on the age column.
Using sorted() function to sort 2D array
The sorted() is a built-in Python function that returns a sorted list of the defined iterable object. So, for example, we can use the sorted() function to sort the 2D arrays.
lis = [['Raj', 10], ['Ram', 8], ['Anil', 3], ['Shyam', 7]]
l = sorted(lis, key=lambda i: i[1])
print(l)
Output
[['Anil', 3], ['Shyam', 7], ['Ram', 8], ['Raj', 10]]
In this program, we used the sorted function to sort the array. These sorted values should be stored in a new variable. Hence the sorted array is stored in a variable called l. The l consists of a sorted array.
Conclusion
You have two options for sorting a 2D array in Python. One is sort() and another is sorted() function.
That’s it for this tutorial.
Related posts
How to Save Array to File in Python
How to Check If array is empty in Python

Krunal Lathiya is a Software Engineer with over eight years of experience. He has developed a strong foundation in computer science principles and a passion for problem-solving. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language. Krunal has experience with various programming languages and technologies, including PHP, Python, and JavaScript. He is comfortable working in front-end and back-end development.