给定一个 bool 列表,如 [True, False, False, True, False, True]
,最快获取包含原始列表中 Truthy 元素的索引(从 1 开始,不是零索引)?因此对于上面的列表,它应该返回 [1, 4, 6]
或 (1, 4, 6)
。
我正在使用这样的生成器:
def get_truthy_ones(self, bool_list):
return (idx + 1 for idx, value in enumerate(bool_list) if value)
但是,当我想在 JSON
对象中对结果进行编码时,这会产生问题,因为 JSON
不会对生成器进行编码。
最佳答案
[i for i, elem in enumerate(bool_list, 1) if elem]
关于python - 获取 bool 列表的真实元素的索引作为列表/元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076560/