Comparar dos diccionarios en Python

Najwa Riyaz 30 enero 2023
  1. Utilice el operador == para comparar dos diccionarios en Python
  2. Escriba código personalizado para comparar dos diccionarios en Python
Comparar dos diccionarios en Python

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 for para 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:value en 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

Artículo relacionado - Python Dictionary