Ich habe this post gelesen und ist nicht für mich gelaufen.Sortiere eine mehrdimensionale Liste nach einer variablen Anzahl von Schlüsseln
Edit: die Funktionalität, die ich beschreiben habe, ist, genau wie die Sortierfunktion in Excel ... wenn das macht es noch klarer
Hier ist meine Situation, ich habe ein getabulatortrennte Textdokument. Es gibt ungefähr 125.000 Zeilen und 6 Spalten pro Zeile (Spalten sind durch ein Tab-Zeichen getrennt). Ich habe das Dokument in eine zweidimensionale Liste aufgeteilt.
Ich versuche, eine generische Funktion zu schreiben, um zweidimensionale Listen zu sortieren. Grundsätzlich hätte ich gerne eine Funktion, bei der ich die große Liste und den Schlüssel einer oder mehrerer Spalten übergeben kann, nach denen ich die große Liste sortieren möchte. Offensichtlich möchte ich, dass der erste übergebene Schlüssel der primäre Sortierpunkt ist, dann der zweite Schlüssel usw.
Noch konfus?
Hier ist ein Beispiel, was ich tun möchte.
Joel 18 Orange 1
Anna 17 Blue 2
Ryan 18 Green 3
Luke 16 Blue 1
Katy 13 Pink 5
Tyler 22 Blue 6
Bob 22 Blue 10
Garrett 24 Red 7
Ryan 18 Green 8
Leland 18 Yellow 9
sagen, dass ich diese Liste, um meine magische Funktion übergeben, etwa so:
sortByColumn(bigList, 0)
Anna 17 Blue 2
Bob 22 Blue 10
Garrett 24 Red 7
Joel 18 Orange 1
Katy 13 Pink 5
Leland 18 Yellow 9
Luke 16 Blue 1
Ryan 18 Green 3
Ryan 18 Green 8
Tyler 22 Blue 6
und ...
sortByColumn(bigList, 2, 3)
Luke 16 Blue 1
Anna 17 Blue 2
Tyler 22 Blue 6
Bob 22 Blue 10
Ryan 18 Green 3
Ryan 18 Green 8
Joel 18 Orange 1
Katy 13 Pink 5
Garrett 24 Red 7
Leland 18 Yellow 9
Irgendwelche Hinweise? Dies wird durch Spalten 2 und 3
Das ist fabelhaft. Ich hatte noch nie von itemgetter (oder attrgetter, was ich jetzt auch sehe) gehört. –
Das ist Guido's Zeitmaschine für Sie. http://catb.org/jargon/html/G/Guido.html –
Dies ist genau das, was ich suche. Danke vielmals! –