Python: valor de clave predeterminado alternativo

A veces, mientras trabajamos con los diccionarios de Python, podemos tener problemas en los que necesitamos asignar un valor particular a una clave en particular, pero en ausencia, requerimos el valor de la clave similar pero de un diccionario diferente. Este problema puede tener aplicaciones en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_dict = {‘gfg’: {‘a’: 1, ‘b’: 2, ‘c’: 3}, ‘mejor’: {‘a’: 3, ‘c’: 4, ‘b’: 17}}
Salida : 17

Entrada : test_dict = {‘gfg’: {‘b’: 1}, ‘mejor’: {‘a’: 3}}
Salida : 1

Método n.º 1: Usar bucle
Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, probamos el valor de un diccionario en particular, si no está presente, verificamos la clave alternativa y asignamos el valor.

# Python3 code to demonstrate working of 
# Alternate Default Key Value
# Using loop
  
# initializing dictionary
test_dict = {'gfg' : {'a' : 1, 'b' : 2, 'c' : 3}, 'best' : {'a' : 3, 'c' : 4}}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# alternate key 
alt_key = 'gfg'
  
# Alternate Default Key Value
# Using loop
if 'b' in test_dict['best']:
    res = test_dict['best']['b']
else :
    res = test_dict[alt_key]['b']
      
# printing result 
print("The required value : " + str(res)) 
Producción :

El diccionario original es: {‘gfg’: {‘a’: 1, ‘b’: 2, ‘c’: 3}, ‘best’: {‘a’: 3, ‘c’: 4}}
El requerido valor : 2

Método n.º 2: usar get()
esta tarea también se puede realizar con este método. Podemos aprovechar la capacidad de get() para generar valores predeterminados en caso de ausencia de valores.

# Python3 code to demonstrate working of 
# Alternate Default Key Value
# Using get()
  
# initializing dictionary
test_dict = {'gfg' : {'a' : 1, 'b' : 2, 'c' : 3}, 'best' : {'a' : 3, 'c' : 4}}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# alternate key 
alt_key = 'gfg'
  
# Alternate Default Key Value
# Using get()
res = test_dict.get('best').get('b', test_dict.get(alt_key)['b'])
      
# printing result 
print("The required value : " + str(res)) 
Producción :

El diccionario original es: {‘gfg’: {‘a’: 1, ‘b’: 2, ‘c’: 3}, ‘best’: {‘a’: 3, ‘c’: 4}}
El requerido valor : 2

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 *