Have a look at this brief snippet:
In [2]: a = range(10)
In [3]: 3 in a
Out[3]: 1
In [4]: 3 not in a
Out[4]: 0
In [5]: not (3 in a)
Out[5]: 0
Input/output 4 should strike you as a tad strange if you don’t know Python that well but are familiar with similar constructs in other languages. At first glance, it almost seems like the sense of an operator can be negated with the not
operator.
Fortunately, this is simply a case of the whole of not in
being a single operator in Python. e not in S
is equivalent to not (e in S)
.