listas
Chema Cortes
py en ls-l.org
Lun Jun 13 14:03:39 CEST 2005
Francesc Altet escribió:
> Algo rápido:
>
> In [18]:a=[ 2,3,4,5,6,1,2,3,4]
>
> In [19]:def liter(lst, n):
> ....: for i in range(0, len(lst), n):
> ....: yield tuple(lst[i:i+n])
> ....:
>
> In [20]:[g for g in liter(a,3)]
> Out[20]:[(2, 3, 4), (5, 6, 1), (2, 3, 4)]
Buscando alternativas, con python 2.4 se podría utilizar una expresión
generadora:
def liter(lst, n):
return (tuple(lst[i:i+n]) for i in xrange(0,len(lst),n))
PD: es curioso que coincida esta solución con una nueva receta del cookbook:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/425044
Más información sobre la lista de distribución Python-es