如何在Python中存储列表的哈希表(按标识哈希)?

Meh*_*dad 4 python hashtable set python-2.x python-2.7

我需要存储setlist通过散列小号身份:两个列表是相等的当且仅当它们是同一个对象.

使用tuples 不仅在语义上没有多大意义,而且我还需要有时改变列表(每隔一段时间将一些元素添加到末尾),所以我根本不能使用它tuple.

如何在Python中存储按标识散列的哈希列表集?

use*_*342 14

使用dict而不是设置,并让id列表的列为关键:

dct[id(lst)] = lst
Run Code Online (Sandbox Code Playgroud)

用"集合"测试"集合"中是否存在列表id(lst) in dct.

  • @Mehrdad正如其他人所说,dict*是*id与对象的映射.在映射中的某处保留对实际对象的引用很重要,否则如果对象是垃圾收集的,则可以重用id. (3认同)