[Python-Dev] Getting values stored inside sets (original) (raw)

"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.

Regards, Martin



More information about the Python-Dev mailing list