A veces, mientras trabajamos con diccionarios, podemos tener un problema de utilidad en el que necesitamos realizar operaciones elementales entre las claves comunes de los diccionarios. Esto se puede extender a cualquier operación a realizar. Analicemos la resta de valores clave similares y las formas de resolverla en este artículo.
Método #1: Usando la comprensión del diccionario + teclas()
La combinación de los dos anteriores se puede utilizar para realizar esta tarea en particular. Esta es solo una abreviatura del método más largo de bucles y se puede usar para realizar esta tarea en una línea.
Python3
# Python3 code to demonstrate working of # Subtraction of dictionaries # Using dictionary comprehension + keys() # Initialize dictionaries test_dict1 = {'gfg' : 6, 'is' : 4, 'best' : 7} test_dict2 = {'gfg' : 10, 'is' : 6, 'best' : 10} # printing original dictionaries print("The original dictionary 1 : " + str(test_dict1)) print("The original dictionary 2 : " + str(test_dict2)) # Using dictionary comprehension + keys() # Subtraction of dictionaries res = {key: test_dict2[key] - test_dict1.get(key, 0) for key in test_dict2.keys()} # printing result print("The difference dictionary is : " + str(res))
The original dictionary 1 : {'gfg': 6, 'is': 4, 'best': 7} The original dictionary 2 : {'gfg': 10, 'is': 6, 'best': 10} The difference dictionary is : {'gfg': 4, 'is': 2, 'best': 3}
Método #2: Usando Counter() + operador «-«
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea en particular. En esto, la función Contador convierte el diccionario en la forma en que el operador menos puede realizar la tarea de resta.
Python3
# Python3 code to demonstrate working of # Subtraction of dictionaries # Using Counter() + "-" operator from collections import Counter from collections import subtract # Initialize dictionaries test_dict1 = {'gfg' : 6, 'is' : 4, 'best' : 7} test_dict2 = {'gfg' : 10, 'is' : 6, 'best' : 10} # printing original dictionaries print("The original dictionary 1 : " + str(test_dict1)) print("The original dictionary 2 : " + str(test_dict2)) # Using Counter() + "-" operator # Subtraction of dictionaries temp1 = Counter(test_dict1) temp2 = Counter(test_dict2) res = temp2 - temp1 # printing result print("The difference dictionary is : " + str(dict(res))) # Using the subtract method of test_dict2.subtract(test_dict1) # printing result print("The difference dictionary is : " + str(dict(test_dict2)))
The original dictionary 1 : {'gfg': 6, 'is': 4, 'best': 7} The original dictionary 2 : {'gfg': 10, 'is': 6, 'best': 10} The difference dictionary is : {'gfg': 4, 'is': 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