python count items in list and keep their order of occurrance

后端 未结 3 991
独厮守ぢ
独厮守ぢ 2021-01-19 07:48

Given: a list, such as l=[4,4,4,4,5,5,5,6,7,7,7] Todo: get the count of an element and keep their occurrence order, e.g.: [(4,4),(5,3),(6,1),(7,3)]

I could do it wit

3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-19 08:30

    Use groupby:

    >>> l = [4,4,4,4,5,5,5,6,7,7,7,2,2]
    >>> from itertools import groupby
    >>> [(i, l.count(i)) for i,_ in groupby(l)]
    [(4, 4), (5, 3), (6, 1), (7, 3), (2, 2)]
    

提交回复
热议问题