zip y generadores

Chema Cortes pych3m4 en gmail.com
Vie Feb 16 09:51:38 CET 2007


El 16/02/07, Gabriel Genellina <gagsl-py en yahoo.com.ar> escribió:
> En Thu, 15 Feb 2007 18:59:22 -0300, Chema Cortes <py en ch3m4.org> escribió:
>
> > El Jueves, 15 de Febrero de 2007 Pau Cervera Badia escribió:
>
> >>     for frame_info, posicions in frames(fitxer, sys_info.sys_size):
> >>         title = "frame: %s t = %s" % tuple(frame_info.split())
> >>         g("set title '%s'" % title)
> >>         g.plot(Gnuplot.Data(posicions))
> >
> > Aquí, lo único decirte que .split ya devuelve una "secuencia", y que no
> > hace
> > falta la conversión explícita a tupla:
> >
> > title = "frame: %s t = %s" % frame_info.split()
>
> En realidad el codigo original es correcto, porque % solo desempaca
> múltiples argumentos desde una tupla, no de una lista:
>
> py> "%s %s" % "a b".split()
> Traceback (most recent call last):
>    File "<stdin>", line 1, in ?
> TypeError: not enough arguments for format string
> py> "%s %s" % tuple("a b".split())
> 'a b'

Tienes toda la razón. Menos mal que hay quién está al quite.




Más información sobre la lista de distribución Python-es