A veces, mientras trabajamos con diccionarios, podemos tener un caso de uso en el que necesitamos disminuir el valor de una clave particular en K en el diccionario. Puede parecer un problema bastante sencillo, pero el problema surge cuando no se conoce la existencia de una clave, por lo que a veces se convierte en un proceso de 2 pasos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n. ° 1: usar get()
la función get se puede usar para inicializar una clave inexistente con 0 y luego es posible la disminución. De esta forma se puede evitar el problema de la clave inexistente.
# Python3 code to demonstrate working of # Decrement Dictionary value by K # Using get() # Initialize dictionary test_dict = {'gfg' : 1, 'is' : 2, 'for' : 4, 'CS' : 5} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Initialize K K = 5 # Using get() # Decrement Dictionary value by K test_dict['best'] = test_dict.get('best', 0) - K # printing result print("Dictionary after the decrement of key : " + str(test_dict))
El diccionario original: {‘for’: 4, ‘CS’: 5, ‘is’: 2, ‘gfg’: 1}
Diccionario después de la disminución de clave: {‘best’: -5, ‘for’: 4, ‘CS’: 5, ‘es’: 2, ‘gfg’: 1}
Método n.º 2: usardefaultdict()
Este problema también se puede resolver usando un método predeterminado, que inicializa las claves potenciales y no arroja una excepción en caso de que no existan claves.
# Python3 code to demonstrate working of # Decrement Dictionary value by K # Using defaultdict() from collections import defaultdict # Initialize dictionary test_dict = defaultdict(int) # printing original dictionary print("The original dictionary : " + str(dict(test_dict))) # Initialize K K = 5 # Using defaultdict() # Decrement Dictionary value by K test_dict['best'] -= K # printing result print("Dictionary after the decrement of key : " + str(dict(test_dict)))
El diccionario original: {}
Diccionario después de la disminución de clave: {‘mejor’: -5}
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