Python | Extraiga tuplas únicas de la lista, orden independientemente

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos verificar registros similares y erradicarlos. Cuando los elementos están ordenados, este caso se ha discutido antes. Pero a veces, es posible que tengamos que ignorar el orden y debe eliminarse en caso de que ocurran elementos similares. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de la comprensión de listas +set()
La combinación de las funcionalidades anteriores se puede combinar para realizar esta tarea en particular. En esto, verificamos cada par y lo agregamos a un conjunto como referencia para verificar si ha existido antes y agregar si es nuevo.

# Python3 code to demonstrate working of
# Extract unique tuples from list(Order Irrespective)
# using list comprehension + set()
  
# initialize tuples list 
test_list = [(1, 3), (4, 5), (3, 1), (1, 10), (5, 4)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Extract unique tuples from list(Order Irrespective)
# using list comprehension + set()
res = set() 
temp = [res.add((a, b)) for (a, b) in test_list 
              if (a, b) and (b, a) not in res]
  
# printing result
print("The list after duplicated removal : " + str(list(res)))
Producción :

The original list : [(1, 3), (4, 5), (3, 1), (1, 10), (5, 4)]
The list after duplicated removal : [(4, 5), (1, 3), (1, 10)]

Método #2: Usarfrozenset()
Otro método para realizar esta tarea en particular es usar frozenset(). Esta función elimina internamente los elementos similares independientemente del orden.

# Python3 code to demonstrate working of
# Extract unique tuples from list(Order Irrespective)
# using frozenset()
  
# initialize tuples list 
test_list = [(1, 3), (4, 5), (3, 1), (1, 10), (5, 4)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Extract unique tuples from list(Order Irrespective)
# using frozenset()
res = set(tuple(frozenset(sub)) for sub in set(test_list))
  
# printing result
print("The list after duplicated removal : " + str(list(res)))
Producción :

The original list : [(1, 3), (4, 5), (3, 1), (1, 10), (5, 4)]
The list after duplicated removal : [(4, 5), (1, 3), (1, 10)]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *