Estructura para una tabla?
Miquel Llover
miquel en llover.org
Mie Jun 5 21:47:39 CEST 2002
Ok!!!! Ahora ya ordena como quería, sólo una cosa extraña... cuando hago:
print pedidos_por_pieza
parece que no me sigue lo que había definido en __repr__ (me añade [ , , ,
]). Es que pedidos_por_pieza ya no es del mismo tipo que pedidos y utiliza
otro __repr__?
Estoy empezando a odiar/amar Python!!!!!!
Miquel
At 21:19 05/06/02, you wrote:
>El mié, 05-06-2002 a las 21:01, Miquel Llover escribió:
> > 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,
> >
>sort sólo ordena y no devuelve nada, para enfatizar que la ordenación se
>hace sobre la propia lista argumento. Creo que lo correcto es:
>
> l_aux = self.l[:]
> l_aux.sort(comp_pieza)
> return l_aux
>
>_______________________________________________
>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