How to convert ‘false’ to 0 and ‘true’ to 1 in Python

PythonEnthusiast picture PythonEnthusiast · Dec 30, 2013 · Viewed 241.8k times · Source

Is there a way to convert true of type unicode to 1 and false of type unicode to 0 (in Python)?

For example: x == 'true' and type(x) == unicode

I want x = 1

PS: I don’t want to use if-else.

Answer

Martijn Pieters picture Martijn Pieters · Dec 30, 2013

Use int() on a boolean test:

x = int(x == 'true')

int() turns the boolean into 1 or 0. Note that any value not equal to 'true' will result in 0 being returned.