Python | Asignación de clave de prioridad en el diccionario

A veces, mientras trabajamos con diccionarios, tenemos una aplicación en la que necesitamos asignar una variable con un solo valor que sería de cualquiera de las claves dadas, lo que ocurra primero en prioridad. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso del bucle
Esta tarea se puede realizar de forma bruta utilizando el bucle. En esto, podemos recorrer las claves del diccionario y la lista de prioridades. Si encontramos la clave, rompemos y asignamos la variable con su valor.

# Python3 code to demonstrate working of
# Priority key assignment in dictionary
# Using loop
  
# Initialize dictionary
test_dict = {'gfg' : 6, 'is' : 4, 'for' : 2, 'CS' : 10}
  
# printing original dictionary
print("The original dictionary : " +  str(test_dict))
  
# Initialize priority keys
prio_list = ['best', 'gfg', 'CS']
  
# Using loop
# Priority key assignment in dictionary
res = None
for key in test_dict:
    if key in prio_list :
        res = test_dict[key]
        break
  
# printing result 
print("The variable value after assignment : " + str(res))
Producción :

The original dictionary : {'gfg': 6, 'is': 4, 'CS': 10, 'for': 2}
The variable value after assignment : 6

Método n.º 2: uso anidadoget()
Este problema se puede resolver anidando get() para obtener el valor de prioridad. Incluso si proporciona una alternativa más limpia y sencilla para resolver el problema, no se recomienda si tenemos más claves candidatas para verificar la prioridad.

# Python3 code to demonstrate working of
# Priority key assignment in dictionary
# Using nested get()
  
# Initialize dictionary
test_dict = {'gfg' : 6, 'is' : 4, 'for' : 2, 'CS' : 10}
  
# printing original dictionary
print("The original dictionary : " +  str(test_dict))
  
# Initialize priority keys
prio_list = ['best', 'gfg', 'CS']
  
# Using nested get()
# Priority key assignment in dictionary
res = test_dict.get(prio_list[0], test_dict.get(prio_list[1],
                                  test_dict.get(prio_list[2])))
  
# printing result 
print("The variable value after assignment : " + str(res))
Producción :

The original dictionary : {'gfg': 6, 'is': 4, 'CS': 10, 'for': 2}
The variable value after assignment : 6

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 *