A veces, mientras trabajamos con diccionarios de Python, podemos tener problemas en los que necesitamos eliminar algunas claves no deseadas y sus anidamientos asociados. Esto puede tener aplicación en muchos dominios, incluido el desarrollo web y la programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = {‘mejor’: {‘para’: {‘geeks’: {‘CS’: {‘Gfg’: 12}}}}}
Salida : {‘mejor’: {‘para’: {}} }Entrada : test_dict = {‘mejor’: 14, ‘gfg’: 13}
Salida : {‘mejor’: 14, ‘gfg’: 13}
Método n.º 1: uso de isinstance()
+ bucle + recursividad
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, verificamos que el valor del elemento sea un diccionario o clave usando isinstance() y recurrimos a la construcción de todas las claves que no están presentes como claves no deseadas.
# Python3 code to demonstrate working of # Remove unwanted Keys associations # Using isinstance() + loop + recursion def helper_fnc(test_dict, unw_keys): temp = {} for key, val in test_dict.items(): if key in unw_keys: continue if isinstance(val, dict): temp[key] = helper_fnc(val, unw_keys) else: temp[key] = val return temp # initializing dictionary test_dict = {"Gfg" : {'is' : 45, 'good' : 15}, 'best' : {'for' : {'geeks' : {'CS' : 12}}}} # printing original dictionary print("The original dictionary : " + str(test_dict)) # initializing unwanted keys unw_keys = ['is', 'geeks'] # Remove unwanted Keys associations # Using isinstance() + loop + recursion res = helper_fnc(test_dict, unw_keys) # printing result print("The filtered dictionary : " + str(res))
El diccionario original: {‘Gfg’: {‘is’: 45, ‘good’: 15}, ‘best’: {‘for’: {‘geeks’: {‘CS’: 12}}}}
El diccionario filtrado : {‘Gfg’: {‘bueno’: 15}, ‘mejor’: {‘para’: {}}}
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