Seite 1 von 1

Muli Liste nach zwei Spalten sprtieren

Verfasst: Samstag 31. Januar 2015, 14:10
von Net_Hans
Hallo,

ich habe eine Liste mit Unterlisten. Diese Liste hätte ich gerne so sortiert, das die erste Sortierung nach Spalte 1 und dann nach Spalte zwei Sortiert wird. Dabei hätte ich gerne in Spalte 1 die größere Zahl an erster Position in für Spalte 2 die jeweils kleinere Zahl zuerst.

in SQL sieht das glaube so aus:

Code: Alles auswählen

SELECT z1, z2, z3 FROM tab1 ORDER BY z1 DESC, z2 ASC
Meine Liste sieht wie folgt aus:

Code: Alles auswählen

[[1,3944,0],[0,0,0],[1,3922,0],[2,4033,0],[0,0,0],[0,0,0]]
als Resultat sollte nach der Sortierung folgendes raus kommen

Code: Alles auswählen

[[2,4033,0],[1,3922,0],[1,3944,0],[0,0,0],[0,0,0],[0,0,0]]
[2,4033,0]
[1,3922,0]
[1,3944,0]
[0,0,0]
[0,0,0]
[0,0,0]

Wie müsste der Befehl im Python dazu aussehen?

mfG Hans

Re: Muli Liste nach zwei Spalten sprtieren

Verfasst: Samstag 31. Januar 2015, 14:15
von BlackJack
@Net_Hans: Dazu haben Listen eine `sort()`-Methode der Du eine entsprechende Funktion als `key`-Argument übergeben müsstest. Also zum Beispiel ``lambda row: (-row[0], row[1])``.

Re: Muli Liste nach zwei Spalten sprtieren

Verfasst: Samstag 31. Januar 2015, 14:50
von Net_Hans
Danke das mit "lambda" werde ich mir angucken.

mfG Hans