假设我有一组自定义对象myset
,虽然它们的引用不同(a == b and a is not b
),但它们可能相等。现在,如果我设置了add(a)
,那么即使集合中只有len(myset) == 1
对象,Python也会正确地假定为a in myset and b in myset
。Python:访问集合的成员
这很明显。但是现在是否可以使用b
来从集合中提取a
的值?假设对象是可变的,我想改变它们,忘记了直接引用a
。换言之,我正在寻找myset[b]
操作,该操作将返回该集合的成员a
。
在我看来,类型set
不能做到这一点(比迭代所有成员更快)。如果是这样,是否至少有一个有效的解决方法?
为什么你需要做到这一点?如果你已经有'b',为什么你需要'a',这是平等的? –
这是一个富有挑战性的要求... –
@KarlKnechtel:集合中的元素是从其他地方引用的(从深层结构中),我想改变它的值。对象基本上是2D矢量类型,并且它们是可变的。 – emu