listas

Javier Santana qualopec en gmail.com
Sab Jun 11 16:00:06 CEST 2005


Francesc Altet wrote:
> On Saturday 11 June 2005 11:51, Javier Santana wrote:
> 
>>Hola, tengo una lista de números y quiero agruparlos de 3 en 3 de esta
>>forma:
>>
>>[ 2,3,4,5,6,1,2,3,4] -> [(2,3,4),(5,6,1),(2,3,4)]
>>
>>o poder iterarlos de una forma similar.
> 
> 
> 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)]
> 

Muchas gracias, finalmente he optado por una solución más rudimentaria
(pero no menos útil)

for i in xrange(0,len(milista),3); print
milista[i],milista[i+1],milista[i+2;

> 
> 




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