Listar array por parejas

Pepe Aracil pepe en diselpro.com
Mie Jun 18 12:29:06 CEST 2008


Y después de pensar un rato ....

versión ultracompacta:

zip(*([iter(lista)]*2))

Donde el "2" es el tamaño de la agrupación.

Salud.




Pepe Aracil escribió:
> Y para rizar el rizo mezclamos un único iterador con el zip.
> 
> it=iter(lista)
> zip(it,it)
> 
> Aunque creo que esta fórmula podría fallar con implementaciones de zip
> que no extraigan los elementos de forma secuencial (a1,b1,a2,b2,...)
> 
> Salud.
> 
> Chema Cortes escribió:
>> El día 17 de junio de 2008 19:53, Beni <camontuyu en yahoo.es> escribió:
>>
>>> Que bueno!!!, no sabía que el slice se podía configurar con incrementos.
>>
>> Como decía, hay muchas soluciones. Para comparación con las otras 
>> versiones:
>>
>>   [lista[i:i+2] for i in xrange(0,len(lista),2)]
>>
>>
>> Una versión iteradora muy curiosa:
>>
>>   it=iter(lista)
>>   res=( (i,it.next()) for i in it)
>>
>>
>> Y una versión genérica de grupos de n elementos --y que ya apareció en
>> esta lista hace mucho--:
>>
>>   zip(*[lista[i::n] for i in xrange(n)])
>> _______________________________________________
>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es
>> FAQ: http://listas.aditel.org/faqpyes
> _______________________________________________
> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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