Уведомления
Очистить всё

вопрос по Python


emela
Сообщения: 1
Автор темы
(@emela)
New Member
Присоединился: 1 год назад

Помогите разобраться с дикой магией в Python: есть два одинаковых словаря, но == возвращает False!

Вот минимальный пример:

a = {'id': 1, 'data': {'key': 'value'}}
b = {'id': 1, 'data': {'key': 'value'}}
print(a == b)  # False?!

 

Где собака зарыта? Уже проверил:

 

id() разные (но это же значения сравниваем)

json.dumps() дает идентичные строки

В PyCharm дебаггер показывает полное совпадение

Python 3.10, никаких кастомных __eq__

Может, это какой-то баг в интерпретаторе или я совсем забыл как работает сравнение словарей? Готов поверить в любую магию, включая квантовые эффекты 😂


Поделиться: