Как сравнить два словаря в python?

Пользователь

от jensen , в категории: Python , 2 года назад

Как сравнить два словаря в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

@jensen  Вы можете использовать обычный оператор сравнения '=='


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
costs_usa = {
    "Apple" : 5,
    "Banana" : 6,
    "BlackBerry" : 4,
    "Pineapple" : 7,
    "Orange" : 5,
}

costs_afr = {
    "Pineapple" : 7,
    "Orange" : 5,
    "BlackBerry" : 4,
    "Apple" : 5,
    "Banana" : 6
}

print(costs_usa == costs_afr)
# Вывод : True

Пользователь

от deshaun_cormier , год назад

@jensen 

Вы можете сравнить два словаря в Python, используя метод items() и преобразование в тип set.

1
2
3
4
5
6
7
8
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 2, 'a': 1}

print(dict1.items() == dict2.items())
# True

print(set(dict1.items()) == set(dict2.items()))
# True


Обратите внимание, что это сравнение работает только для словарей, у которых одинаковые ключи и значения. Порядок элементов в словаре не важен.