A and B but not C in list
Boris Borcic
bborcic at gmail.com
Mon Jan 24 11:31:26 EST 2011
Terry Reedy wrote:
>
> The straightforward code
>
> if a in L and b in L and c not in L and d not in L
>
> scans the list 4 times.
of course for a single scan one can setify the list and write
S=set(L)
if a in S and b in S and c not in S and d not in S
or even, I guess, something like
{a,b} <= S and not S & {c,d}
also, I suppose that in some settings a,b,c,d could be made to belong to a class
that has defined eg
__nonzero__ = __bool__ = S.__contains__
so that the if statement would become
if a and b and not c and not d
btw, did anybody ask the OP which if any of A,B,C,D otoh and L otoh would vary
fastest ?
Whatever, BB
More information about the Python-list
mailing list