当Python列表包含true或false以及0或1之类的值时,称为二进制列表。在本文中,我们将获取一个二进制列表,并找出list元素为true的位置的索引。
枚举函数提取列表中的所有元素。我们应用in条件检查提取的值是否正确。
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)
输出结果
运行上面的代码给我们以下结果-
The original list is : [True, False, 1, False, 0, True] The indices having True values: [0, 2, 5]
使用compress,我们遍历列表中的每个元素。这仅显示出值为真的元素。
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)
输出结果
运行上面的代码给我们以下结果-
The original list is : [True, False, 1, False, 0, True] The indices having True values: [0, 2, 5]