Compare dois dicionários em Python

Najwa Riyaz 30 janeiro 2023
  1. Use o operador == para comparar dois dicionários em Python
  2. Escreva um código personalizado para comparar dois dicionários em Python
Compare dois dicionários em Python

Este artigo apresentará como comparar dois dicionários em Python.

Use o operador == para comparar dois dicionários em Python

O operador == em Python pode ser usado para determinar se os dicionários são idênticos ou não.

Aqui está um exemplo quando existem dicionários idênticos.

dict1 = dict(name="Tom", Vehicle="Benz Car")
dict2 = dict(name="Tom", Vehicle="Benz Car")
dict1 == dict2

Resultado:

True

Aqui está um exemplo, quando há dicionários não idênticos -

dict1 = dict(name="John", Vehicle="Benz Car")
dict2 = dict(name="Tom", Vehicle="Benz Car")
dict1 == dict2

Resultado:

False

Você pode comparar muitos dicionários conforme mencionado no exemplo a seguir,

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

Resultado:

False

Escreva um código personalizado para comparar dois dicionários em Python

Aqui está como você pode escrever código para comparar os dicionários e determinar quantos pares são comuns entre os dicionários. Abaixo estão as etapas.

  • Use um loop for para percorrer cada item em um dos dicionários. Compare cada item deste dicionário com o outro dicionário com base no índice compartilhado.
  • Se os itens forem iguais, coloque o par key:value no dicionário compartilhado de resultados.
  • Depois de percorrer todo o dicionário, calcule o comprimento do dicionário compartilhado de resultados para determinar o número de itens comuns entre os dicionários.

Abaixo está um exemplo que demonstra o método para comparar dois dicionários em Python.

Neste caso, os dicionários são 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")

Resultado:

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 seguir, vamos tentar um exemplo em que os dicionários não são 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")

Resultado:

The items common between the dictionaries are - {'name': 'Tom'}
The number of items common between the dictionaries are - 1
The dictionaries are non-identical

Artigo relacionado - Python Dictionary