【发布时间】:2011-10-10 11:13:18
【问题描述】:
在 Python 中是否有任何等效于 KeyedCollection 的方法,即元素具有(或动态生成)自己的键的集合?
即这里的目标是避免将密钥存储在两个地方,因此字典不太理想(因此提出了问题)。
【问题讨论】:
-
您能否详细说明为什么您不想拥有键和值? Python 通常只会引用同一个对象作为键和值,因此不会产生两倍的内存。
-
@Ned:因为从语义上讲,它没有多大意义。当一个对象知道它的键时,把它放在字典中是没有意义的——它不是键值对。这更像是一个语义问题而不是其他任何事情。 (还有一个问题是,
KeyedCollection也可以被序数索引,但我在这里并不需要它。不过,它在其他情况下很有用。)