Mientras trabajamos con los diccionarios de Python, siempre podemos encontrarnos con un problema en el que tenemos una lista de diccionarios con posibles repeticiones y deseamos eliminar los duplicados. Este es un problema común que uno puede enfrentar en el dominio de aprendizaje automático. Vamos a discutir cierta forma en que este problema puede ser resuelto.
Método : Usandomap() + set() + items() + sorted() + tuple()
En este método, solo tenemos una combinación de funciones para realizar esta tarea. La map
función realiza la tarea de extender la lógica a todos los elementos. La set
función realiza el filtrado real de los pares a los que accede items()
. El sorted
conjunto requiere la función para eliminar duplicados.
# Python3 code to demonstrate working of # Unique dictionary filter in list # Using map() + set() + items() + sorted() + tuple() # Initialize list test_list = [{'gfg' : 1, 'is' : 2, 'best' : 3}, {'gfg' : 1, 'is' : 2, 'best' : 3}, {'gfg' : 9, 'is' : 8, 'best' : 6}] # printing original list print("The original list is : " + str(test_list)) # Unique dictionary filter in list # Using map() + set() + items() + sorted() + tuple() res = list(map(dict, set(tuple(sorted(sub.items())) for sub in test_list))) # printing result print("The list after removing duplicates : " + str(res))
La lista original es: [{‘gfg’: 1, ‘is’: 2, ‘best’: 3}, {‘gfg’: 1, ‘is’: 2, ‘best’: 3}, {‘gfg’ : 9, ‘is’: 8, ‘best’: 6}]
La lista después de eliminar los duplicados: [{‘gfg’: 1, ‘is’: 2, ‘best’: 3}, {‘gfg’: 9, ‘es’: 8, ‘mejor’: 6}]
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