Heim > Backend-Entwicklung > Python-Tutorial > Wie sortiere ich Listen von Listen in abwechselnder Reihenfolge in Python?

Wie sortiere ich Listen von Listen in abwechselnder Reihenfolge in Python?

Susan Sarandon
Freigeben: 2024-10-21 16:56:02
Original
420 Leute haben es durchsucht

How to Sort Lists of Lists in Alternating Order in Python?

Listen von Listen in abwechselnder Reihenfolge sortieren

Gegeben sei eine Liste mit Unterlisten im Format [['a',1], [' a',2], ['a',3], ['b',1], ['b',2], ['b',3]], das Ziel besteht darin, diese Unterlisten abwechselnd zu sortieren , wobei Element 0 in absteigender Reihenfolge und Element 1 in aufsteigender Reihenfolge sortiert ist. Das erwartete Ergebnis ist [['b',1], ['b',2], ['b',3], ['a',1], ['a',2], ['a', 3]].

Um dies zu erreichen, kann man die Funktion sort() mit einem benutzerdefinierten Schlüssel nutzen. Der Schlüssel ist eine Lambda-Funktion, die die interessierenden Elemente extrahiert und eine Sortieroperation auf sie anwendet. In diesem Fall ruft es das erste Element jeder Unterliste ab, wendet eine absteigende Sortierung an und kombiniert es dann mit dem Negativ des zweiten Elements, sortiert in aufsteigender Reihenfolge. Durch Umkehren der Sortierreihenfolge mit reverse=True werden die Unterlisten absteigend nach dem ersten Element und aufsteigend nach dem zweiten Element sortiert. Dadurch ergibt sich die gewünschte alternierende Reihenfolge.

Der folgende Codeausschnitt demonstriert die Lösung:

<code class="python">L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]]
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)

print(L)
# [['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich Listen von Listen in abwechselnder Reihenfolge in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage