HOWTO · Python

Confronta due dizionari in Python

Questo articolo spiega il metodo per confrontare due dizionari Python.

In questa pagina

Questo articolo introdurrà come confrontare due dizionari in Python.

Usa l’operatore == per confrontare due dizionari in Python

L’operatore == in Python può essere utilizzato per determinare se i dizionari sono identici o meno.

Ecco un esempio quando ci sono dizionari identici.

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

Produzione:

True

Ecco un esempio, quando ci sono dizionari non identici -

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

Produzione:

False

Puoi confrontare molti dizionari come indicato nell’esempio seguente,

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

Produzione:

False

Scrivi codice personalizzato per confrontare due dizionari in Python

Ecco come puoi scrivere codice per confrontare i dizionari e determinare quante coppie sono comuni tra i dizionari. Di seguito sono riportati i passaggi.

  • Usa un cicli for per attraversare ogni elemento in uno dei dizionari. Confronta ogni elemento di questo dizionario con l’altro dizionario basato sull’indice condiviso.
  • Se gli elementi sono uguali, inserisci la coppia key:value nel dizionario condiviso dei risultati.
  • Una volta attraversato l’intero dizionario, calcolare la lunghezza del dizionario condiviso del risultato per determinare il numero di elementi comuni tra i dizionari.

Di seguito è riportato un esempio che dimostra il metodo per confrontare due dizionari in Python.

In questo caso i dizionari sono identici.

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")

Produzione:

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

Quindi, proviamo un esempio quando i dizionari non sono identici -

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")

Produzione:

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