me he perdido
Esteban Manchado Velázquez
zoso en demiurgo.org
Mie Mayo 21 14:04:28 CEST 2003
On Wed, May 21, 2003 at 12:58:58PM +0100, Esteban Manchado Velázquez wrote:
> [...]
> Supongo que algo parecido a (perdonen si digo una barbaridad, generalmente
> programo en Perl :-P ):
>
> while len(lista) > 0:
> (x, y, z) = (lista.pop(0), lista.pop(0), lista.pop(0))
> print x, y, z
>
> Lo malo es que tienes que hacer una copia de la lista antes (algo como «lista2
> = lista[:]»).
Me respondo a mí mismo: te di la solución para tres elementos, como habrás
visto. Tenía que haber leído mejor el mensaje :-)
Otra cosa: también puedes hacerlo llevando una cuenta de índices, si la
lista es muy grande y lo vas a hacer muchas veces (porque sería bastante
ineficiente la copia de la lista y el borrar elementos).
Supongo que algo así (sin probar):
cont = 0
limite = len(lista)-2
while cont < limite:
print lista[cont], lista[cont+1]
cont += 2
--
Esteban Manchado Velázquez <zoso*demiurgo*org> - http://www.demiurgo.org
No software patents in Europe! - eurolinux.org - proinnova.hispalinux.es
Join Amnesty International - http://www.amnesty.org/actnow
Más información sobre la lista de distribución Python-es