@firstmixon

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

Имеем питон 3.8, в одной из задач требовалось организовать хранение данных в словаре для последующей конвертации в json.

В роли ключа используется экземпляр класса "test", а значение "строка", условный пример.

Вопрос существует ли способ достучатся до "ключа" в словаре, если мы знаем(ранее сохранили) его значение, я понимаю что это не лучший вариант, но все же интересно?

class test:
    def __init__(self):
        self.key = ''
        self.p1  = 0
        self.p2  = 0
        self.p3  = 0
        self.my_hash = None


    def __hash__(self):
        self.my_hash = hash(self.key)
        return hash(self.my_hash)

    def __eq__(self, other):
        return other and self.key == other.key


tmp_dict = {}
tmp = test()
tmp.key = "test_1"

tmp_hash = tmp.__hash__()
print(tmp_hash)

tmp_dict[tmp] = "value by key 'test_1'"

print(tmp_dict[tmp])
print(tmp_dict[tmp_hash]) <-- ?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
Steel_Balls
@Steel_Balls
0L3QsNGH0LjQvdCw0Lsg0YEgQkFTSUMg0L3QsCDQo9Ca0J3Qpi
А как быть с коллизиями? Не забывай, что хэши не уникальны
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы