[Python-Dev] Getting values stored inside sets

"Martin v. Löwis" martin at v.loewis.de
Fri Apr 3 18:43:05 CEST 2009

> I've stumbled upon an oddity using sets.  It's trivial to test if a
> value is in the set, but it appears to be impossible to retrieve a
> stored value, other than by iterating over the whole set. 

Of course it is. That's why it is called a set: it's an unordered
collection of objects, keyed by nothing.

If you have a set of elements, and you check "'foo' in s", then
you should be able just to use the string 'foo' itself for whatever
you want to do with it - you have essentially created a set of
strings. If you think that 'foo' and Element('foo') are different
things, you should not implement __eq__ in a way that they are
considered equal.


More information about the Python-Dev mailing list