dim*_*ris 2 python indexing list sublist conditional-statements
这似乎相当容易,但我有点困在这一个.
我有一个逻辑值列表,例如:
a=[True, False, True, True, False, False, True, True, True]
Run Code Online (Sandbox Code Playgroud)
我想构建另一个包含(在子列表中)'a'的索引的列表,这些索引是'True',连续的索引放在同一个子列表中.所以,对于上面的例子,答案是:
[[0], [2,3], [6,7,8]]
Run Code Online (Sandbox Code Playgroud)
使用itertools.groupby和enumerate,可以使用单线程:
from itertools import groupby
[[i for i, _ in g] for k, g in groupby(enumerate(a), key=lambda x: x[1]) if k]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |