如何在Python中按顺序计算相邻元素的出现次数



我试图从左到右计算(list/string/whatevery(中相等相邻元素的数量。有什么帮助吗?

例如(

1113322 would be [3,2,2]
3334555 would be [3,1,3]

输入和输出的形式可以是任何形式(列表、字符串..(提前谢谢。

使用itertools.groupby:

from itertools import groupby
sizes = lambda d: [len(list(g)) for _, g in groupby(d)]
sizes("1113322")  # str, list, tuple, lazy iterator, whatever
# [3, 2, 2] 
sizes("3334555")
# [3, 1, 3]

最新更新