如何找出多维布尔列表中所有子列表对应索引全为False的索引?
解决方案
要找出多维布尔列表中所有子列表对应元素全为False的索引,核心思路是转置列表后检查每一组对应元素是否全为False,以下是Python实现:
代码实现
def get_all_false_indices(bool_matrix): # 转置矩阵,将各子列表的对应索引元素聚合成一组 transposed = zip(*bool_matrix) # 遍历转置后的每组元素,记录全为False的索引 return [idx for idx, elements in enumerate(transposed) if all(not elem for elem in elements)]
示例验证
比如输入:
sample_matrix = [ [True, False, True, False, False], [False, True, False, False, False], [True, True, True, False, False] ] print(get_all_false_indices(sample_matrix)) # 输出: [3,4]
适配说明
- 不管子列表数量多少(比如50个),只要所有子列表长度一致,
zip(*bool_matrix)都能正确完成转置操作。 - 子列表长度动态变化时,只要保证输入的多维列表中所有子列表长度相同,函数就能正常工作。
内容的提问来源于stack exchange,提问作者wildcat89
相关产品推荐
相关产品推荐

