"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > How to Sort Lists of Lists with Mixed Ordering?

How to Sort Lists of Lists with Mixed Ordering?

Published on 2024-11-08
Browse:299

How to Sort Lists of Lists with Mixed Ordering?

Sorting Lists of Lists with Mixed Ordering

Given a list of lists with two elements, sorting them in a specific order can be challenging. Typically, sorting is done using one criterion. However, in this case, we need to sort based on the first element in descending order and the second element in ascending order.

To achieve this mixed sorting, we can utilize lambda functions and the sort method in Python. The key argument of the sort method takes a function that determines the sort order. The function we provide will consider both elements of each list.

To create a combined key that handles both elements, we can use the following lambda function:

lambda k: (k[0], -k[1])

Here, we're using a tuple to combine both elements. The first element represents the first element of the list, and the second element is the negative of the second element. This negation ensures descending order for the second element.

Now, we can use this lambda function in the sort method:

L.sort(key=lambda k: (k[0], -k[1]), reverse=True)

The reverse=True argument specifies that the sorting should be done in reverse order, which aligns with our requirement of descending order for the first element.

As a result, the list L will be sorted with the first element descending and the second element ascending:

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Release Statement This article is reprinted at: 1729499538 If there is any infringement, please contact [email protected] to delete it
Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3