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