a is not b
is a special operator which is equivalent to not a is b
.
The operator a is b
returns True if a and b are bound to the same object, otherwise False. When you create two empty lists you get two different objects, so is
returns False (and therefore is not
returns True).