Programa de Python para eliminar la duplicidad de un diccionario

Dado un diccionario con valores como listas, la tarea es escribir un programa en Python que pueda eliminar contenidos del diccionario independientemente del hecho de que sean claves o valores que ocurran más de una vez.

Entrada: {‘gfg’: [‘gfg’, ‘is’, ‘best’], ‘best’: [‘gfg’], ‘apple’: [‘good’]}

Salida: {‘gfg’: [‘gfg’, ‘es’, ‘mejor’], ‘manzana’: [‘bueno’]}

Explicación : se omite la mejor clave porque ya está como valor de la primera clave. 

Entrada: {‘gfg’: [‘gfg’, ‘es’, ‘mejor’, ‘manzana’], ‘mejor’: [‘gfg’], ‘manzana’: [‘bueno’]}

Salida: {‘gfg’: [‘gfg’, ‘es’, ‘mejor’, ‘manzana’]}

Explicación: las claves best y apple se omiten porque ya están como valor de la primera clave. 

Enfoque: uso de bucle y elements()

En esto, iteramos para cada clave y su valor se extrae usando elements(), y los memorizamos, las claves y los valores se omiten para agregar/crear en caso de que ya hayan ocurrido.

Programa:

Python3

# initializing dictionary
test_dict = {'gfg': ['gfg', 'is', 'best'],
             'best': ['gfg'],
             'apple': ['good']}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
res = dict()
for key, val in test_dict.items():
 
    flag = True
    for key1, val1 in res.items():
 
        # filtering value from memorised values
        if key in val1:
            flag = False
    if flag:
        res[key] = val
 
# printing result
print("The filtered dictionary : " + str(res))

Producción:

El diccionario original es: {‘gfg’: [‘gfg’, ‘is’, ‘best’], ‘best’: [‘gfg’], ‘apple’: [‘good’]}

El diccionario filtrado: {‘gfg’: [‘gfg’, ‘is’, ‘best’], ‘apple’: [‘good’]}

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 *