Skip to main content
 首页 » 编程设计

python之将列表拆分为较小的等值列表

2025年05月04日8zhoujg

我希望将一个列表转换为更小的等值列表。我的一个例子是:

["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']] 

它只对连续相等的元素进行分组,但在您的情况下这似乎足够了。