Lista de elementos comunes
Oswaldo Hernández
listas en soft-com.es
Jue Mar 22 19:51:49 CET 2007
Alberto Valverde escribió:
>
> 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)
>
Perfecto. No se porque me daba a mi que python deberia resolverlo de forma elegante :)
Gracias Alberto.
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
Más información sobre la lista de distribución Python-es