Python: eliminar valores duplicados en el diccionario

A veces, mientras trabajamos con diccionarios de Python, podemos tener problemas en los que necesitamos realizar la eliminación de todos los valores duplicados del diccionario, y no nos preocupa si se elimina alguna clave en el proceso. Este tipo de aplicación puede ocurrir en la programación escolar y en la programación diurna. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar bucle
Esta es la forma de fuerza bruta en la que realizamos esta tarea. En esto, hacemos un seguimiento del valor ocurrido y lo eliminamos si se repite.

# Python3 code to demonstrate working of 
# Remove duplicate values in dictionary
# Using loop
  
# initializing dictionary
test_dict = { 'gfg' : 10, 'is' : 15, 'best' : 20, 'for' : 10, 'geeks' : 20}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Remove duplicate values in dictionary
# Using loop
temp = []
res = dict()
for key, val in test_dict.items():
    if val not in temp:
        temp.append(val)
        res[key] = val
  
# printing result 
print("The dictionary after values removal : " + str(res)) 
Producción :

El diccionario original es: {‘gfg’: 10, ‘for’: 10, ‘geeks’: 20, ‘is’: 15, ‘best’: 20}
El diccionario después de la eliminación de valores: {‘gfg’: 10, ‘ frikis’: 20, ‘es’: 15}

Método #2: Usar la comprensión del diccionario
El siguiente problema también se puede realizar usando la comprensión del diccionario. En esto, realizamos la tarea de manera similar al método anterior, solo como una abreviatura.

# Python3 code to demonstrate working of 
# Remove duplicate values in dictionary
# Using dictionary comprehension
  
# initializing dictionary
test_dict = { 'gfg' : 10, 'is' : 15, 'best' : 20, 'for' : 10, 'geeks' : 20}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Remove duplicate values in dictionary
# Using dictionary comprehension
temp = {val : key for key, val in test_dict.items()}
res = {val : key for key, val in temp.items()}
  
# printing result 
print("The dictionary after values removal : " + str(res)) 
Producción :

El diccionario original es: {‘gfg’: 10, ‘for’: 10, ‘geeks’: 20, ‘is’: 15, ‘best’: 20}
El diccionario después de la eliminación de valores: {‘gfg’: 10, ‘ frikis’: 20, ‘es’: 15}

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 *