• Есть ли способ получить данные из словаря по ХЕШУ ключа?

    @merdovash
    Словарь в python использует, помимо прочего, и функцию __eq__ для сравнения ключей. Поэтому
    1. воспользуемся свойством, что hash(int) == int для маленьких int
    2. изменим функцию сравнения на такую:
      def __eq__(self, other):
              if isinstance(other, int):
                  return hash(self) == other
              return other and self.key == other.key



    И тогда выводом программы будет
    -2213746293832839369
    value by key 'test_1'
    value by key 'test_1'

    Но будьте осторожны с такой функцией сравнения можно нарваться на коллизии в самых неожиданных местах
    Ответ написан
    Комментировать