Home > Backend Development > Python Tutorial > How to Sort a List of Tuples with One Key in Reverse Order?

How to Sort a List of Tuples with One Key in Reverse Order?

Susan Sarandon
Release: 2024-10-31 16:38:02
Original
770 people have browsed it

How to Sort a List of Tuples with One Key in Reverse Order?

Sorting a List with Multiple Keys, Including One in Reverse Order

When working with lists of tuples, we may encounter the need to sort them based on multiple criteria, one of which should be in reverse order. This article addresses this challenge, providing a Pythonic approach to sorting a list by two keys, with one sorted in ascending order and the other in descending order.

Understanding the Problem

Consider a list of tuples like myList = [(ele1A, ele2A),(ele1B, ele2B),(ele1C, ele2C)]. Sorting this list with two keys means organizing it based on both the first and second elements of each tuple. We can use the sorted() function to sort the list, passing a custom key function that specifies the sorting criteria:

<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), y[1]))</code>
Copy after login

This code sorts the list in ascending order for both keys. To sort the first key in descending order, we can use the following code:

<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1]))</code>
Copy after login

However, this code sorts both keys in descending order. To sort only the first key in descending order and the second key in ascending order, we can use the following code:

<code class="python">sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))</code>
Copy after login

This code sorts the tuples by the first key in reverse alphabetical order (descending) and by the second key in alphabetical order (ascending).

Example

Let's apply this sorting method to the given list myList:

<code class="python">myList = [('Ele1A', 'Ele2A'), ('Ele1B', 'Ele2B'), ('Ele1C', 'Ele2C')]
sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))

# Print the sorted list
print(sortedList)</code>
Copy after login

Output:

[('Ele1C', 'Ele2C'), ('Ele1B', 'Ele2B'), ('Ele1A', 'Ele2A')]
Copy after login

As we can see, the list is sorted by the first key in reverse alphabetical order and by the second key in alphabetical order, satisfying the problem's requirements.

The above is the detailed content of How to Sort a List of Tuples with One Key in Reverse Order?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template