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

Reply via email to