if myval == 0: nyval=1 if myval == 1: nyval=0
Is there a better way to do a toggle in python, like a nyvalue = not myval ?
Use the not Operator to Negate a Boolean in Python Here, the bool() function is used. It returns the boolean value, True or False , of a given variable in Python. The boolean values of the numbers 0 and 1 are set to False and True as default in Python. So, using the not operator on 1 returns False , i.e., 0 .
Operator precedence... the == binds tighter than in , so [1,0] == True gets evaluated first, then the result of that gets fed to 1 in other_result . I've removed the Python-2.7 tag, since Python 3.2 behaves the same way.
The negation operator in Python is not . Therefore just replace your ! with not .
Use the not
boolean operator:
nyval = not myval
not
returns a boolean value (True
or False
):
>>> not 1 False >>> not 0 True
If you must have an integer, cast it back:
nyval = int(not myval)
However, the python bool
type is a subclass of int
, so this may not be needed:
>>> int(not 0) 1 >>> int(not 1) 0 >>> not 0 == 1 True >>> not 1 == 0 True
In python, not
is a boolean operator which gets the opposite of a value:
>>> myval = 0 >>> nyvalue = not myval >>> nyvalue True >>> myval = 1 >>> nyvalue = not myval >>> nyvalue False
And True == 1
and False == 0
(if you need to convert it to an integer, you can use int()
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With