Lista de elementos comunes

Alberto Valverde alberto en toscat.net
Jue Mar 22 19:28:59 CET 2007


On Mar 22, 2007, at 7:24 PM, Alberto Valverde wrote:

>
> On Mar 22, 2007, at 7:16 PM, Oswaldo Hernández wrote:
>
>> Hola a todos,
>>
>> Me gustaria saber si hay alguna forma elegante de resolver esto:
>>
>> Una lista con un numero indeterminado de tuplas:
>> lista = [ (1,2,3), (1,3,4,5), (3, 1) ]
>>
>> Necesito crear una nueva lista que contenga los elementos comunes  
>> a todas las tuplas
>> En esta caso el resultado deberia ser: [1,3]
>>
>> Lo unico que se me ocurre es hacer un bucle e ir comprobando  
>> elemento por elemento si esta contenido en las demas tuplas.
>>
>> ¿Alguna sugerencia?
>
> Utilizando los sets (en python <2.4 haz "from sets import Set as set")
>
> comunes = set()
> for tupla in lista:
> 	comunes &= set(tupla)

Oops, eso está mal, mejor:

comunes = set(lista[0])
for tupla in lista[1:]:
	comunes &= set(tupla)

Alberto



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