La tarea de eliminar duplicados muchas veces en el pasado reciente, pero a veces cuando tratamos con la estructura de datos compleja, en esos casos necesitamos diferentes técnicas para manejar este tipo de problema. Analicemos ciertas formas en que se puede lograr esta tarea.
Método #1: Usosorted() + set()
Este problema en particular se puede resolver usando las funciones anteriores. La idea aquí es ordenar la sublista y luego eliminar los elementos similares utilizando las operaciones de conjunto que eliminan los duplicados.
# Python3 code to demonstrate # removing duplicate sublist # using set() + sorted() # initializing list test_list = [[1, 0, -1], [-1, 0, 1], [-1, 0, 1], [1, 2, 3], [3, 4, 1]] # printing original list print("The original list : " + str(test_list)) # using set() + sorted() # removing duplicate sublist res = list(set(tuple(sorted(sub)) for sub in test_list)) # print result print("The list after duplicate removal : " + str(res))
The original list : [[1, 0, -1], [-1, 0, 1], [-1, 0, 1], [1, 2, 3], [3, 4, 1]] The list after duplicate removal : [(-1, 0, 1), (1, 3, 4), (1, 2, 3)]
Método #2: Usoset() + map() + sorted()
La tarea realizada por la lista de comprensión en el método anterior se puede modificar usando la función de mapa usando funciones lambda para extender la lógica a todas y cada una de las sublistas.
# Python3 code to demonstrate # removing duplicate sublist # using set() + map() + sorted() # initializing list test_list = [[1, 0, -1], [-1, 0, 1], [-1, 0, 1], [1, 2, 3], [3, 4, 1]] # printing original list print("The original list : " + str(test_list)) # using set() + map() + sorted() # removing duplicate sublist res = list(set(map(lambda i: tuple(sorted(i)), test_list))) # print result print("The list after duplicate removal : " + str(res))
The original list : [[1, 0, -1], [-1, 0, 1], [-1, 0, 1], [1, 2, 3], [3, 4, 1]] The list after duplicate removal : [(-1, 0, 1), (1, 3, 4), (1, 2, 3)]
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