# How to Sort 2d Lists in Python: 5 Methods

The list is a data structure that allows you to store multiple variables in a single variable. You can also store objects in it. You can create both single and 2Dimensional lists in Python. In this tutorial, you will learn how to Sort 2d Lists in Python.

## Methods to Sort 2d Lists in Python

### Method 1: Sorting 2D list using a Single Column

One of the simplest ways to sort a 2D list in Python is using a single column. Python provides you built-in sort() function that allows you to sort the list. Use the below example.

``````data = [[30, 20, 10], [60, 50, 40], [90, 80, 70]]
data.sort(key=lambda x: x[0])``````

In this code snippet, you have a 2D list called data. I want to sort it based on the values in the first column. By using the sort() function and specifying the key parameter as lambda x: x[0], you can achieve the desired sorting.

### Method 2: Sorting on Multiple Columns

You can also sort a 2D list based on multiple columns. Python provides a powerful tool called the `operator` module, which does this process. Below is the code for this method

``````import operator

data = [[30, 20, 10], [60, 50, 40], [90, 80, 70]]
data.sort(key=operator.itemgetter(0, 1))``````

### Method 3: Sorting in Descending Order

By default, Python’s `sort()` function sorts in ascending order. However, if you want to sort a 2D list in descending order, you can use the `reverse` parameter.

``````data = [[30, 20, 10], [60, 50, 40], [90, 80, 70]]
data.sort(key=lambda x: x[0], reverse=True)``````

In this code snippet, you sorted the `data` list based on the values in the first column. But in descending order. You can reverse-sort the list by setting the `reverse` parameter to `True`

### Method 4: Sorting with some Conditions

You can also sort a 2D list based on some conditions or criteria. Python allows you to define custom comparison functions to achieve this. Below is an example of it.

``````data = [[30, 20, 10], [60, 50, 40], [90, 80, 70]]

def custom_sort(item):
# Define the custom sorting logic here
return item[0] * item[1] - item[2]

data.sort(key=custom_sort)``````

In the above code snippet, you define a custom comparison function called `custom_sort` that calculates a custom sorting metric. The `sort()` function then uses this function as the `key` parameter to sort the `data` list accordingly.

### Method 5: Sorting with the sorted() Function

Instead of the `sort()` method, Python also provides the `sorted()` function, which returns a new sorted list instead of modifying the original one. This can be useful when you want to preserve the original order.

``````data = [[30, 20, 10], [60, 50, 40], [90, 80, 70]]

sorted_data = sorted(data, key=lambda x: x[0])``````

In this code snippet, you used the `sorted()` function with the same `key` parameter to sort the `data` list and store the sorted results in a new list called `sorted_data`.

## Conclusion

Sometimes it may become necessary to sort the list whether it is 1D or 2D. The above are the methods to quickly sort the 2D list in Python. You can use any method you like.

Hi, I am CodeTheBest. Here you will learn the best coding tutorials on the latest technologies like a flutter, react js, python, Julia, and many more in a single place.

## SPECIAL OFFER!

This Offer is Limited! Grab your Discount!
15000 ChatGPT Prompts
Offer Expires In: