Estructura para una tabla?
Miquel Llover
miquel en llover.org
Mie Jun 5 21:01:51 CEST 2002
At 20:03 05/06/02, you wrote:
> > Hola de nuevo!
> >
> > Parece que ya me funciona, pues tenía un error en el nombre del
> > diccionario.
> > Si en vez de ordenar una lista de pedidos, lo que quisiera es que me
> > devolviera una lista de pedidos ordenada pero sin alterar la
> > original, como
> > lo debería hacer? He intentado lo siguiente:
> >
> > def ordena_pieza(self):
> > comp_pieza = pedido.compara("pieza")
> > l_aux = self.l
> > return l_aux.sort(comp_pieza)
> >
> > Pero continua modificandome la lista de pedidos original. Como debería
> > hacer la copia?
>
>ya habrás deducido que el metodo .sort(...) de las listas ordenan en el
>lugar.
>
>pero veo también que Python te ha mostrado su verdadera cara! :-D
>
>l_aux = self.l NO copia la lista, solo estas tomando otra referencia
>a la misma lista. la forma mas directa de copiar una lista es:
>
>l_aux = self.l[:]
>
>o sea, mediante una "rebanada" (slice) de la lista que abarca toda la
>lista.
Vale, el método me queda de la siguiente forma:
def ordena_pieza(self):
comp_pieza = pedido.compara("pieza")
l_aux = self.l[:]
return l_aux.sort(comp_pieza)
Pero si hago:
# Me muestra el contenido de la lista (antes he definido el método __repr__
como he visto
# que hacía Chema; la mar de práctico!)
print pedidos
# Entiendo que el método de ordenar me devuelve una lista de pedidos ordenada
# que asigno a otra variable lista_de_pedidos
pedidos_por_pieza = pedidos.ordena_pieza()
# Aqui me muestra "None"!!!!!!!!!!!!!!
print pedidos_por_pieza
¿Qué hago mal?
Gracias,
Miquel
>-Hernan
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo.py/python-es
------------------------------------------------
Miquel Llover
<miquel en llover.org>
------------------------------------------------
Más información sobre la lista de distribución Python-es