python - 如何在 python 列表中查找所有组?

标签 python list

我有一个这样的列表

[0,0,1,1,1,0,0,0,1,1,0,0,1,1,1,1] 

我想对它们进行分组,然后求出每组的长度。所以结果会是这样的:

[[2,0],[3,1].....[4,1]]

最佳答案

使用itertools.groupby :

>>> import itertools
>>> l =  [0,0,1,1,1,0,0,0,1,1,0,0,1,1,1,1]
>>> [(len(list(g)), k) for k,g in itertools.groupby(l)]
[(2, 0), (3, 1), (3, 0), (2, 1), (2, 0), (4, 1)]

关于python - 如何在 python 列表中查找所有组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498335/

相关文章:

python - Python 线程中传递的最小参数数量是多少

c# - 将列表克隆到现有列表中、最小化内存重新分配的最有效方法?

java - Java中两个对象列表之间的区别

java - 如何获取列表中选项标签的内部文本?

python - 使用格式打印多个列表

python - 如何从Python访问具有固定大小数组的C结构内部数据?

python - GitHub 操作 setup-python 停止工作

python - 在制作副本之后但在编辑副本之前编辑原始 DataFrame 会更改副本

python - 在 Python 中从另一个列表中减去一个列表

python - 成对嵌套列表的大多数 pythonic(和有效)方式