擅长:python、mysql、java
<p>可以使用<code>itertools.groupby</code>对值进行分组。然后根据每个组的长度计算索引,并保留该组开始索引的运行计数。你知道吗</p>
<pre><code>from itertools import groupby
def index_list(l):
temp = 0
index_list = []
for key, group in groupby(l):
items = len(list(group))
index_list.append([i+temp for i in range(items)])
temp += items
return index_list
</code></pre>
<p>示例</p>
<pre><code>>>> l = [0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 4, 4, 4]
>>> index_list(l)
[[0, 1, 2, 3, 4], [5, 6, 7], [8, 9], [10], [11, 12, 13]]
</code></pre>