📅  最后修改于: 2023-12-03 15:34:21.162000             🧑  作者: Mango
在 Python 中,二进制列表是一种由 0 和 1 两个数构成的列表。而有时候,我们需要找出二进制列表中所有 True 值所在的索引。下面是一份简单的 Python 代码,可以实现这个功能:
def get_indexes(binary_list):
return [i for i, bit in enumerate(binary_list) if bit]
在这段代码中,我们定义了一个名为 get_indexes
的函数,该函数接受一个二进制列表作为参数,并返回一个列表,该列表包含了所有 True 值所在的索引。
这里我们还使用了一种叫做列表解析(list comprehension)的 Python 语法,这个语法让我们可以快速生成一个包含符合特定条件的元素的新列表。在我们的例子中,[i for i, bit in enumerate(binary_list) if bit]
就是一个列表解析语句,其作用是遍历二进制列表 binary_list
中所有的元素,同时记录下这个元素的索引 i
。如果这个元素的值是 True(即 bit
为 True),则将该索引 i
添加到一个新列表 result
中。最后,我们将 result
列表返回即可。
完整代码附上:
def get_indexes(binary_list):
"""获取二进制列表中 True 值的索引"""
return [i for i, bit in enumerate(binary_list) if bit]
if __name__ == '__main__':
binary_list = [True, False, True, False, True]
indexes = get_indexes(binary_list)
print(f'The indexes of True values in {binary_list} are: {indexes}')
输出结果:
The indexes of True values in [True, False, True, False, True] are: [0, 2, 4]
在输出结果中,我们可以看到,我们成功地获取了二进制列表中所有 True 值所在的索引。