HOWTO · Python
Comparar dos diccionarios en Python
Este artículo explica el método de comparar dos diccionarios Python.
En esta página
Este artículo presentará cómo comparar dos diccionarios en Python.
Utilice el operador == para comparar dos diccionarios en Python
El operador == en Python se puede utilizar para determinar si los diccionarios son idénticos o no.
A continuación se muestra un ejemplo de diccionarios idénticos.
dict1 = dict(name="Tom", Vehicle="Benz Car")
dict2 = dict(name="Tom", Vehicle="Benz Car")
dict1 == dict2
Producción :
True
Aquí hay un ejemplo, cuando hay diccionarios no idénticos:
dict1 = dict(name="John", Vehicle="Benz Car")
dict2 = dict(name="Tom", Vehicle="Benz Car")
dict1 == dict2
Producción :
False
Puede comparar muchos diccionarios como se menciona en el siguiente ejemplo,
dict1 = dict(name="John", Vehicle="Benz Car")
dict2 = dict(name="Tom", Vehicle="Benz Car")
dict3 = dict(name="Shona", Vehicle="Alto Car")
dict4 = dict(name="Ruby", Vehicle="Honda Car")
dict1 == dict2 == dict3 == dict4
Producción :
False
Escriba código personalizado para comparar dos diccionarios en Python
Así es como puede escribir código para comparar los diccionarios y determinar cuántos pares son comunes entre los diccionarios. A continuación se muestran los pasos.
-
Utilice un bucle
forpara recorrer cada elemento en uno de los diccionarios. Compare cada elemento de este diccionario con el otro diccionario según el índice compartido. -
Si los elementos son iguales, coloque el par
key:valueen el diccionario compartido de resultados. -
Una vez que se recorre todo el diccionario, calcula la longitud del diccionario compartido de resultados para determinar el número de elementos comunes entre los diccionarios.
A continuación se muestra un ejemplo que demuestra el método para comparar dos diccionarios en Python.
En este caso, los diccionarios son idénticos.
dict1 = dict(name="Tom", Vehicle="Mercedes Car")
dict2 = dict(name="Tom", Vehicle="Mercedes Car")
dict1_len = len(dict1)
dict2_len = len(dict2)
total_dict_count = dict1_len + dict2_len
shared_dict = {}
for i in dict1:
if (i in dict2) and (dict1[i] == dict2[i]):
shared_dict[i] = dict1[i]
len_shared_dict = len(shared_dict)
print("The items common between the dictionaries are -", shared_dict)
print("The number of items common between the dictionaries are -", len_shared_dict)
if len_shared_dict == total_dict_count / 2:
print("The dictionaries are identical")
else:
print("The dictionaries are non-identical")
Producción :
The items common between the dictionaries are - {'name': 'Tom', 'Vehicle': 'Mercedes Car'}
The number of items common between the dictionaries are - 2
The dictionaries are identical
A continuación, probemos un ejemplo cuando los diccionarios no son idénticos:
dict1 = dict(name="Tom", Vehicle="Alto Car")
dict2 = dict(name="Tom", Vehicle="Mercedes Car")
dict1_len = len(dict1)
dict2_len = len(dict2)
total_dict_count = dict1_len + dict2_len
shared_dict = {}
for i in dict1:
if (i in dict2) and (dict1[i] == dict2[i]):
shared_dict[i] = dict1[i]
len_shared_dict = len(shared_dict)
print("The items common between the dictionaries are -", shared_dict)
print("The number of items common between the dictionaries are -", len_shared_dict)
if len_shared_dict == total_dict_count / 2:
print("The dictionaries are identical")
else:
print("The dictionaries are non-identical")
Producción :
The items common between the dictionaries are - {'name': 'Tom'}
The number of items common between the dictionaries are - 1
The dictionaries are non-identical