如何为重复元素创建列表列表

How to create list of lists for repeating elements

我有以下列表 A 并且想要创建列表列表 B。我如何检测重复元素并避免后面的重复,因为它们之间有不同的元素?

A = [1,3,3,3,3,4,4,4,6,6,6,6,3,3,4,4,4,4,5]

B = [[1],[3,3,3,3],[4,4,4],[6,6,6,6],[3,3],[4,4,4,4],[5]]

itertools.groupby 可以为您做到这一点。

>>> [list(x[1]) for x in itertools.groupby(A)]
[[1], [3, 3, 3, 3], [4, 4, 4], [6, 6, 6, 6], [3, 3], [4, 4, 4, 4], [5]]