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)))
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)))
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