在 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]