如何在Python列表中将等效项组合在一起?

时间:2011-08-11 12:09:03

标签: python list

我有一个像

这样的清单
x = [2, 2, 1, 1, 1, 1, 1, 1]

我想将重复的数字放在一起,如

[[2,2],[1,1,1,1,1,1]] 

1 个答案:

答案 0 :(得分:26)

[list(g) for k, g in itertools.groupby(iterable)]

这正是itertools.groupby的用途。

如果您希望对非连续数字进行分组,例如@Michal的评论,

[list(g) for k, g in itertools.groupby(sorted(iterable))]