给定一个布尔列表,例如[True, False, False, True, False, True]
,获取包含原始列表中的 Truthy 元素的索引(从 1 开始,而不是零索引)的列表/元组的最快方法是什么?所以对于上面的列表,它应该返回[1, 4, 6]
or (1, 4, 6)
。
我正在使用这样的生成器:
def get_truthy_ones(self, bool_list):
return (idx + 1 for idx, value in enumerate(bool_list) if value)
但是,当我想将结果编码到JSON
对象中时,这会产生问题,因为JSON
不编码生成器。