我希望将一个列表转换为更小的等值列表。我的一个例子是:
["a", "a", "a", "b", "b", "c", "c", "c", "c"]
到
[["a", "a", "a"], ["b", "b"], ["c", "c", "c", "c"]]
您认为最有效的方法是什么?
请您参考如下方法:
你可以使用 itertools.groupby解决问题:
>>> from itertools import groupby
>>> [list(grp) for k, grp in groupby(["a", "a", "a", "b", "b", "c", "c", "c", "c"])]
[['a', 'a', 'a'], ['b', 'b'], ['c', 'c', 'c', 'c']]
它只对连续相等的元素进行分组,但在您的情况下这似乎足够了。
