[Python-es] ordenar lista bidimensional por una columna dada
Marcos Sánchez Provencio
rapto en arrakis.es
Mar Nov 26 10:53:04 CET 2002
sort permite usar una función de comparación, ¿no te vale?
Help on built-in function sort:
sort(...)
L.sort([cmpfunc]) -- sort *IN PLACE*; if given, cmpfunc(x, y) -> -1,
0, 1
Sólo tienes que usar una función tipo:
def comparaCol2(x,y):
return cmp(x[1:],y[1:])
y ordenar con:
sort(sec1,comparaCol2)
Eso sí, es más lento que el sort sin más.
El lun, 25-11-2002 a las 19:27, César González escribió:
> Hola a todos,
>
> Tengo un problema al que me gustaría dar una solución lo más sencilla posible
> ya que es algo que, en el proyecto que estoy haciendo, voy a tener que
> repetir hasta la saciedad. La pregunta es la siguiente :
>
> ¿Cual es la manera mas sencilla de ordenar un lista bidimensional a partir de
> una columna dada?
>
> El metodo sort de las listas, me ordena listas unidimensionales y no encuentro
> la manera (si la hay) de usar sort para, por ejemplo, pasarle el indice de la
> columna que marca el orden y así ordenar listas de más de una dimension.
>
> Antes de tirarme a hacer una clase que haga esto (que a mi entender es algo
> muy comun y que muchos antes que yo habrán tenido el mismo problema) he
> preferido preguntaros si conoceis una solución mas sencilla.
>
> Gracias,
>
> Bolo.
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo.py/python-es
--
Marcos Sánchez Provencio <rapto en arrakis.es>
Más información sobre la lista de distribución Python-es