On 2013-01-26 00:26, Ian Kelly wrote:
On Fri, Jan 25, 2013 at 4:45 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
You could first limit the search to only those which it could be:
S & set([y])
A search would be:
f = [m for m in S & set([y]) if m is y][0]
f is y
True
But in practice he won't have y, only x. So that would have to be:
f = [m for m in S & set([x]) if m is x][0]
f is y
False
And it turns out that my earlier "intersection" suggestion fails for
the same reason.
It turns out that both S & {x} and {x} & S return {x}, not {y}.
OK, so...
The members that don't equal x are S - {x}.
Remove those and you get the members that _do_ equal x:
>>> (S - (S - {x})).pop() is y
True
--
http://mail.python.org/mailman/listinfo/python-list