给定一个布尔列表,例如[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)
Run Code Online (Sandbox Code Playgroud)
但是,当我想在JSON对象中编码结果时,这会产生问题,因为JSON不编码生成器.
Lev*_*sky 12
[i for i, elem in enumerate(bool_list, 1) if elem]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5583 次 |
| 最近记录: |