作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个数组 ar = [2,2,2,1,1,2,2,3,3,3,3]
。对于这个数组,我想找到连续相同数字的长度,例如:
values: 2, 1, 2, 3
lengths: 3, 2, 2, 4
在 R
中,这是通过使用 rle()
函数获得的。 python 中是否有提供所需输出的现有函数?
最佳答案
您可以使用 groupby
执行此操作
from itertools import groupby
ar = [2,2,2,1,1,2,2,3,3,3,3]
print([(k, sum(1 for i in g)) for k,g in groupby(ar)])
# [(2, 3), (1, 2), (2, 2), (3, 4)]
关于python - 如何在python中找到运行长度编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43424729/
我是一名优秀的程序员,十分优秀!