Flipping the boolean values in a list Python

I have a boolean list in Python

mylist  = [True , True, False,...]

which I want to change to the logical opposite [False, False, True , ...] Is there an inbuilt way to do this in Python (something like a call not(mylist) ) without a hand-written loop to reverse the elements?


It's easy with list comprehension:

mylist  = [True , True, False]

[not elem for elem in mylist]

yields

[False, False, True]

The unary tilde operator (~) will do this for a numpy.ndarray. So:

>>> import numpy
>>> mylist = [True, True, False]
>>> ~numpy.array(mylist)
array([False, False, True], dtype=bool)
>>> list(~numpy.array(mylist))
[False, False, True]

Note that the elements of the flipped list will be of type numpy.bool_ not bool.


>>> import operator
>>> mylist  = [True , True, False]
>>> map(operator.not_, mylist)
[False, False, True]