Get indices of True values in a binary list in Python

PythonServer Side ProgrammingProgramming

When a Python list contains values like true or false and 0 or 1 it is called binary list. In this article we will take a binary list and find out the index of the positions where the list element is true.

With enumerate

The enumerate function extracts all the elements form the list. We apply a in condition to check of the extracted value is true or not.

Example

 Live Demo

listA = [True, False, 1, False, 0, True]
# printing original list
print("The original list is :\n ",listA)
# using enumerate()
res = [i for i, val in enumerate(listA) if val]
# printing result
print("The indices having True values:\n ",res)

Output

Running the above code gives us the following result −

The original list is :
[True, False, 1, False, 0, True]
The indices having True values:
[0, 2, 5]

With compress

Using compress we iterate through each of the element in the list. This brings out only the elements whose value is true.

Example

 Live Demo

from itertools import compress
listA = [True, False, 1, False, 0, True]
# printing original list
print("The original list is :\n ",listA)
# using compress()
res = list(compress(range(len(listA)), listA))
# printing result
print("The indices having True values:\n ",res)

Output

Running the above code gives us the following result −

The original list is :
[True, False, 1, False, 0, True]
The indices having True values:
[0, 2, 5]
raja
Published on 04-Jun-2020 12:16:55
Advertisements