He leído this post y no ha terminado trabajando para mí.Ordenar una lista multidimensional por un número variable de claves
Editar: la funcionalidad que estoy describiendo es igual que la función de clasificación en Excel ... si eso hace que sea más claro
Aquí está mi situación, tengo un documento de texto delimitado por tabuladores. Hay aproximadamente 125,000 líneas y 6 columnas por línea (las columnas están separadas por un carácter de tabulación). He dividido el documento en una lista de dos dimensiones.
Estoy tratando de escribir una función genérica para ordenar listas bidimensionales. Básicamente me gustaría tener una función donde pueda pasar la lista grande, y la clave de una o más columnas por las que me gustaría ordenar la lista grande. Obviamente, me gustaría que la primera clave pasara a ser el punto de clasificación principal, luego la segunda clave, etc.
¿Aún confunde?
Aquí hay un ejemplo de lo que me gustaría hacer.
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
Di pasé esta lista para mi función mágica, así:
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
y ...
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
Alguna pista?
Eso es fabuloso. Nunca había oído hablar de itemgetter (o attrgetter, que ahora también veo). –
Esa es la máquina del tiempo de Guido para ti. http://catb.org/jargon/html/G/Guido.html –
Esto es exactamente lo que estoy buscando. ¡Muchas gracias! –