Python | Resta de diccionarios

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))
Producción : 

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)))
Producción : 

                        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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *