计算列表中的连续元素

时间:2019-03-11 09:39:16

标签: python list count counter

我正在做一个小程序,计算一个字符出现在列表中的次数,我有一个问题,“可以用连续的数字来做到吗?”。 我现在有以下代码:

def function(list):
    final_list = []
    for element in set(list):
        final_list.append([element, list.count(element)])
    return final_list

1 个答案:

答案 0 :(得分:3)

对于简单的解决方案,您可以使用itertools.groupby

from itertools import groupby
l = [1, 1, 1, 2, 2, 3, 4, 4, 1, 1, 1]

[[k,len(list(v))] for k,v in groupby(l)]
# [[1, 3], [2, 2], [3, 1], [4, 2], [1, 3]]