Python – Cambiar mayúsculas y minúsculas en el diccionario

A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos realizar la manipulación de casos de claves. Esto puede tener una posible aplicación en muchos dominios, incluida la programación escolar y los dominios de datos. Vamos a discutir una manera de resolver esta tarea.

Entrada : test_dict = {‘Gfg’: {‘a’: 5, ‘b’: {‘mejor’: 6}}}
Salida : {‘GFG’: {‘A’: 5, ‘B’: {‘MEJOR ‘: 6}}}

Entrada : test_dict = {‘Gfg’: 6}
Salida : {‘GFG’: 6}

Método: Usar isinstance() + toupper()+ recursividad + bucle
La combinación de las funciones anteriores también se puede usar para resolver este problema. En esto, usamos toupper() para realizar mayúsculas en las claves, la recursividad también se usa para realizar la manipulación de claves en claves anidadas. El isinstance() se usa para verificar si el anidamiento es un diccionario.

# Python3 code to demonstrate working of 
# Change Keys Case in Dictionary
# Using isinstance() + toupper() + recursion + loop
  
# helper function
def keys_upper(test_dict):
    res = dict()
    for key in test_dict.keys():
        if isinstance(test_dict[key], dict):
            res[key.upper()] = keys_upper(test_dict[key])
        else:
            res[key.upper()] = test_dict[key]
    return res
  
# initializing dictionary
test_dict = {'Gfg' : {'a' : 5, 'b' : 6}, 'is' : {'for' :2}, 'best': 3}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Change Keys Case in Dictionary
# Using isinstance() + toupper() + recursion + loop
res = keys_upper(test_dict)
  
# printing result 
print("The modified dictionary : " + str(res)) 
Producción :

The original dictionary : {'is': {'for': 2}, 'Gfg': {'b': 6, 'a': 5}, 'best': 3}
The modified dictionary : {'GFG': {'A': 5, 'B': 6}, 'IS': {'FOR': 2}, 'BEST': 3}

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 *