Lista de elementos comunes

Alberto Valverde alberto en toscat.net
Jue Mar 22 19:24:50 CET 2007


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)

Alberto



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