如何保持重复元素的索引不变

fis*_*whj 1 python indexing enumerate map

这是一个输入列表:

['a', 'b', 'b', 'c', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)

我期望的输出应该是:

[[0, 'a'], [1, 'b'],  [1, 'b'], [2, 'c'], [2, 'c'], [3, 'd']]
Run Code Online (Sandbox Code Playgroud)

我尝试使用map()

>>> map(lambda (index, word): [index, word], enumerate([['a', 'b', 'b', 'c', 'c', 'd']])
[[0, 'a'], [1, 'b'], [2, 'b'], [3, 'c'], [4, 'c'], [5, 'd']]
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到预期的结果?

编辑:这不是一个排序列表,每个元素的索引只有在遇到一个新元素时才会增加

jam*_*lak 6

>>> import itertools
>>> seq = ['a', 'b', 'b', 'c', 'c', 'd']
>>> [[i, c] for i, (k, g) in enumerate(itertools.groupby(seq)) for c in g]
[[0, 'a'], [1, 'b'], [1, 'b'], [2, 'c'], [2, 'c'], [3, 'd']]
Run Code Online (Sandbox Code Playgroud)