Como crear conjunto a partir de lista de tuplas por clave?
Por ejemplo tengo la siguiente lista de tuplas
x = [('El', 'auto'), ('el', 'auto'), ('un', 'auto'), ('algun', 'auto'), ('Los', 'camiones'), ('UN', 'auto')]
Y quiero obtener la siguiente:
y = [('el', 'auto'), ('Los', 'camiones')]
En lugar de "el" podria estar cualquiera de los determinantes usados anteriormente.
He intentado usar set() pero no se como hacer para que tome solo el segundo parametro para crear el conjunto.
He implementado el siguiente codigo pero es muy ineficiente, basicamente busca todas las ocurrencias para quedarse con una sola.
nombres = [('El', 'auto'), ('el', 'auto'), ('un', 'auto'), ('El', 'camion')]
pares = []
palabras = list(set(x[1] for x in nombres))
for i in range(0, len(palabras)):
j = [det[0] for det in nombres if det[1] == palabras[i]]
pares = pares + [(j[0], palabras[i])]
print(pares)