у меня есть словарь d
который хранит информацию об объектах: возникаютИспользование объектов в качестве словаря ключей
class A:
def __init__(self, x):
self.x = x
a = A(1)
b = A(1)
c = 'hello world'
e = [1, 2, 3]
d = {a: 'a', b: 'b', c: 'c', e: 'e'}
Два вопроса:
- подход не работает для списков или для других объектов, хэш не соответствует адресу хранилища. Что я могу сделать в этих случаях?
- Этот подход небезопасен в других условиях, чем упомянутый в вопросе (1)?
В чем смысл словаря, чьи ключи являются значением? Он будет поддерживаться только в том случае, если объект hashable (имеет значение __hash__). Что случилось с использованием списка или набора? –
Итак, вы пытаетесь использовать объекты в качестве ключей в словаре. Я не понимаю эту мотивацию. – pylang
Должны ли вы иметь объекты в качестве ключей словаря? Не можете ли вы сделать что-то вроде сохранения объекта в отдельном списке и использовать индексы этого списка в качестве ключей? – Ulisha