Hi
Ich habe in meinem Programm eine Liste mit mehreren Unterlisten darin. Nun möchte ich diese untergeordneten Listen sortieren, und zwar nach dem jeweils 5. Wert in jeder untergeordneten Liste
zum Beispiel die Liste ist folgendermaßen aufgebaut:
Liste = [[1,2,3,4,5,6,7,8], [8,7,6,5,4,3,2,1], [8,8,8,8,8,8,8,8]]
nach dem sortieren sollte sie dann so aussehen:
Liste = [[8,7,6,5,4,3,2,1], [1,2,3,4,5,6,7,8], [8,8,8,8,8,8,8,8]]
Ich bin noch relativ unerfahren mit Python und deshalb habe ich leider keine Ahnung, wie ich das hinbekomme. Kann mir das bitte einer von euch erklären?
Danke im vorraus
Unterlisten in Liste sortieren
Das habe ich auch schon herausgefunden... Allerdings habe ich noch nicht gefunden, welche key-Argumente es alles gibt, und vor allem wie ich das meinem Programm verständlich mache, dass es genau diese werte vergleichen soll...
Moin,
sowohl die `sort`-Methode von Listen (verändert die Liste) als auch die Funktion `sorted` (erstellt eine neue Liste) akzeptiert eine Funktion als Schlüsselwortargument `key`, die die Sortierreihenfolge steuert. Hier gibt es ein kleines Sortier-Tutorial. Außerdem wäre `operator.itemgetter` vielleicht noch einen Blick wert.
Die `key`-Funktion kann man sich beliebig selbst schreiben. Es muss einfach eine Funktion sein, die für jedes Element deiner Liste ein Ergebnis (den Schlüssel) liefert, sodass alle Schlüssel untereinander sortiert werden können.
sowohl die `sort`-Methode von Listen (verändert die Liste) als auch die Funktion `sorted` (erstellt eine neue Liste) akzeptiert eine Funktion als Schlüsselwortargument `key`, die die Sortierreihenfolge steuert. Hier gibt es ein kleines Sortier-Tutorial. Außerdem wäre `operator.itemgetter` vielleicht noch einen Blick wert.
Die `key`-Funktion kann man sich beliebig selbst schreiben. Es muss einfach eine Funktion sein, die für jedes Element deiner Liste ein Ergebnis (den Schlüssel) liefert, sodass alle Schlüssel untereinander sortiert werden können.