Juanjo Conti Juanjo Conti - 3 months ago 10
Python Question

Swapping 1 with 0 and 0 with 1 in a pythonic way?

In some part of my Python program I have a val variable that can be 1 or 0. If it's 1 I must change to 0, if it's 0 I must change to 1.

How do you do it in a Pythonic way?

if val == 1:
val = 0
elif val == 0:
val = 1


it's too long!

I did:

swap = {0: 1, 1:0}


So I can use it:

swap[val]


Other ideas?

Answer

This isn't pythonic, but it is language neutral. Often val = 1 - val is simplest.