Уведомления
Очистить всё
Июл 23, 2025 2:03 пп
Помогите разобраться с дикой магией в 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__
Может, это какой-то баг в интерпретаторе или я совсем забыл как работает сравнение словарей? Готов поверить в любую магию, включая квантовые эффекты 😂

