How to Sort Lists of Lists with Mixed Ordering?

Linda Hamilton
Release: 2024-10-21 16:33:29
Original
574 people have browsed it

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:

<code class="python">lambda k: (k[0], -k[1])</code>
Copy after login

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:

<code class="python">L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>
Copy after login

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:

<code class="python">[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
Copy after login

The above is the detailed content of How to Sort Lists of Lists with Mixed Ordering?. For more information, please follow other related articles on the PHP Chinese website!

source:php
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!