【问题标题】:How to store a hashtable of lists in Python (hashed by identity)?如何在 Python 中存储列表的哈希表(按身份哈希)?
【发布时间】:2012-11-12 05:45:45
【问题描述】:

我需要存储一个setlists 由identity 散列:如果两个列表是相同的对象,则它们是相等的。

不仅使用tuples not make much sense semantically,而且有时我还需要改变列表(每隔一段时间在末尾添加一些元素),所以我不能使用tuple at全部。

如何在 Python 中存储按身份散列的列表散列集?

【问题讨论】:

    标签: python python-2.7 set hashtable python-2.x


    【解决方案1】:

    dict代替set,让列表的id成为key:

    dct[id(lst)] = lst
    

    使用id(lst) in dct 测试“集合”中是否存在列表。

    【讨论】:

    • 头脑=被吹了。非常感谢。
    • 如何从set中的ID取回对象?我需要单独跟踪 ID 到对象的映射吗?
    • @Mehrdad:如果您使用的是id,我认为您可以只使用字典而不是集合。
    • @Mehrdad 正如其他人所说,dict ids到对象的映射。在映射中的某处保留对实际对象的引用很重要,否则如果对象被垃圾回收,则可以重用 id。
    猜你喜欢
    • 2015-07-18
    • 2017-01-22
    • 2023-03-31
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多