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