[Python-es] lista a tupla
Chema Cortes
pych3m4 en gmail.com
Vie Ago 17 15:10:18 CEST 2007
El 17/08/07, Arnau Sanchez <arnau en ehas.org> escribió:
> A mi particularmente me gusta trabajar con iteradores (para listas
> pequeñas da igual, para grandes puede suponer un buen ahorro de memoria)
>
> http://docs.python.org/lib/itertools-recipes.html
>
> from itertools import chain
> def flatten(listOfLists):
> return chain(*listOfLists)
>
> lista = [(1,2), (3,4)]
> lista2 = flatten(lista)
> print lista2
> <itertools.chain object at 0xb7d0ba6c>
> print tuple(lista2)
> (1, 2, 3, 4)
Aunque son algo antiguos, no sé si habrás leído el resto de mensajes.
Para casos como éste no hace falta recurrir a 'itertools':
lista2=(x for y in lista for x in y)
Esta nomenclatura permite, incluso, añadir filtrados simples:
lista3=(x for y in lista for x in y if x<3)
Más información sobre la lista de distribución Python-es