Ho letto this post e non ha finito per funzionare per me.Ordinare una lista multidimensionale per un numero variabile di chiavi
Edit: la funzionalità che sto descrivendo è proprio come la funzione di ordinamento in Excel ... se questo lo rende più chiaro
Ecco la mia situazione, ho un documento di testo delimitato da tabulazioni. Ci sono circa 125.000 righe e 6 colonne per riga (le colonne sono separate da un carattere di tabulazione). Ho diviso il documento in un elenco di due dimensioni.
Sto tentando di scrivere una funzione generica per ordinare elenchi bidimensionali. Fondamentalmente mi piacerebbe avere una funzione in cui posso passare la lista grande, e la chiave di una o più colonne vorrei ordinare la grande lista per. Ovviamente, vorrei che la prima chiave passasse per essere il punto di ordinamento primario, poi la seconda chiave, ecc.
Ancora confuzzled?
Ecco un esempio di cosa mi piacerebbe fare.
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
dire che ho passato questa lista per la mia funzione magica, in questo modo:
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
e ...
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
Degli indizi?
È favoloso. Non avevo mai sentito parlare di itemgetter (o attrgetter, che ora vedo anche io). –
Questa è la macchina del tempo di Guido per te. http://catb.org/jargon/html/G/Guido.html –
Questo è esattamente quello che sto cercando. Molte grazie! –