3
我有一本字典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)中提到的其他條件下是不安全的嗎?
有一個字典的關鍵是值的點是什麼?只有在對象可以被哈希(具有__hash__定義)時纔會被支持。使用列表或集合有什麼問題? –
因此,您正嘗試將對象用作字典中的鍵。我不明白這個動機。 – pylang
您必須將對象作爲字典的鍵嗎?難道你不能做像保持對象在一個單獨的列表,並使用該列表的索引作爲關鍵? – Ulisha