A veces, mientras trabajamos con Tuple Matrix, podemos tener un problema en el que obtenemos muchos datos que son similares, es decir, los elementos son iguales en las filas, solo el orden de las tuplas es diferente, a veces se desea eliminarlas. Este tipo de problema puede tener aplicación en dominios como el desarrollo web y la programación diaria. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_list = [[(4, 5), (3, 2)], [(3, 2), (4, 5)], [(3, 2), (4, 5)]]
Salida : { ((4, 5), (3, 2))}Entrada : test_list = [[(4, 6), (3, 2)], [(3, 2), (4, 5)], [(3, 2), (4, 5)]]
Salida : { ((3, 2), (4, 6)), ((4, 5), (3, 2))}
Método n.º 1: usar set() + tuple() + sorted()
la comprensión de lista +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, primero realizamos la clasificación y luego convertimos las filas para establecer, lo que elimina automáticamente los duplicados.
# Python3 code to demonstrate working of # Remove Similar Rows from Tuple Matrix # Using set() + tuple() + sorted() + list comprehension # initializing lists test_list = [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]] # printing original list print("The original list is : " + str(test_list)) # Remove Similar Rows from Tuple Matrix # Using set() + tuple() + sorted() + list comprehension res = set([tuple(set(sub)) for sub in test_list]) # printing result print("Tuple matrix after removal : " + str(res))
The original list is : [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]] Tuple matrix after removal : {((4, 6), (2, 2)), ((4, 5), (3, 2))}
Método #2: Usar la set() + frozenset()
expresión del generador +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de ordenar y convertir tuplas usando frozenset().
# Python3 code to demonstrate working of # Remove Similar Rows from Tuple Matrix # Using set() + frozenset() + generator expression # initializing lists test_list = [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]] # printing original list print("The original list is : " + str(test_list)) # Remove Similar Rows from Tuple Matrix # Using set() + frozenset() + generator expression res = set([frozenset(sub) for sub in test_list]) # printing result print("Tuple matrix after removal : " + str(res))
The original list is : [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]] Tuple matrix after removal : {frozenset({(4, 5), (3, 2)}), frozenset({(4, 6), (2, 2)})}
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