xyz*_*123 1 python data-structures
数据结构应满足以下目的:
例:
object_123({'stupid':True, 'foo':'bar', ...})structure.get({'stupid':True, 'foo':'bar', ...}) 应该回来 object_123最佳地,该结构通过标准库提供的标准python数据结构来实现.
你会如何实现这个?
我能想到的最简单的解决方案是使用排序的元组键:
def key(d): return tuple(sorted(d.items()))
x = {}
x[key({'stupid':True, 'foo':'bar', ...})] = object_123
x.get(key({'stupid':True, 'foo':'bar', ...})) => object_123
Run Code Online (Sandbox Code Playgroud)
另一种选择是为你的键提出你自己的哈希方案(通过将它们包装在一个类中或者只使用字典中的数字键),但是根据你的访问模式,这可能会更慢.