This tutorial will discuss about unique ways to convert list of booleans to list of integers in Python.
Table Of Contents
Introduction
Suppose we have a list of booleans containing only False and True values. Like this,
listOfBools = [True, False, False, True, True, False]
Now we want to convert this list of bools to a list of 1s and 0s. Like this,
[1, 0, 0, 1, 1, 0]
- The
False
should be converted to0
. - The
True
should be converted to1
.
Let’s how to do this.
Method 1: Using List Comprehension
Iterate over boolean elements of list, inside a List Comprehension, and call the int()
method on each boolean element in the list. The int()
method will convert boolean False
to 0
, and True
to 1
. The List comprehension, will returned a new list containing these converted int values.
Let’s see the complete example,
Frequently Asked:
listOfBools = [True, False, False, True, True, False] # Convert list of bools to list of integers listOfInts = [int(elem) for elem in listOfBools] print(listOfInts)
Output
[1, 0, 0, 1, 1, 0]
Method 2: Using NumPy Array
Create a NumPy Array
from list of bools, but pass the dtype
as int
while constructing the NumPy Array. The array will have integers only i.e.
- The
False
will be converted to0
. - The
True
will be converted to1
.
Then convert this NumPy array to a list of integers.
Let’s see the complete example,
import numpy as np listOfBools = [True, False, False, True, True, False] # create a NumPy Array of int type from list of bools arr = np.array(listOfBools, dtype=int) # Convert numpy array of ints to a list listOfInts = arr.tolist() print(listOfInts)
Output
[1, 0, 0, 1, 1, 0]
Summary
We learned about two different ways to convert a list of True and False to a list of 1s and 0s in Python.