在 Python 中获取二进制列表中 True 值的索引

pythonserver side programmingprogramming

当 Python 列表包含 true 或 false 以及 0 或 1 等值时,它被称为二进制列表。在本文中,我们将采用二进制列表并找出列表元素为 true 的位置的索引。

使用 enumerate

enumerate 函数提取列表中的所有元素。我们应用一个 in 条件来检查提取的值是否为真。

示例

listA = [True, False, 1, False, 0, True]
# 打印原始列表
print("原始列表为:\n ",listA)
# 使用 enumerate()
res = [i for i, val in enumerate(listA) if val]
# 打印结果
print("具有 True 值的索引:\n ",res)

输出

运行上述代码得到以下结果 −

原始列表为:
[True, False, 1, False, 0, True]
具有 True 值的索引:
[0, 2, 5]

使用压缩

使用压缩我们遍历列表中的每个元素。这只显示值为 true 的元素。

示例

from itertools import compress
listA = [True, False, 1, False, 0, True]
# 打印原始列表
print("原始列表为:\n ",listA)
# 使用 compress()
res = list(compress(range(len(listA)), listA))
# 打印结果
print("具有 True 值的索引:\n ",res)

输出

运行上述代码得到以下结果 −

原始列表为 :
[True, False, 1, False, 0, True]
具有 True 值的索引:
[0, 2, 5]

相关文章