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))
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))
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