python 将连续元素分组,然后找出出现次数最多的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 将连续元素分组,然后找出出现次数最多的。相关的知识,希望对你有一定的参考价值。

from itertools import groupby
from collections import Counter
from pprint import pprint

def getContinuousItemsCount(l):
    x = [tuple(g) for k, g in groupby(l)]
    tupleCounter = Counter(x)
    s = set(x)
    d = {}
    for t in s:
        d[t] = tupleCounter[t]
    return d

pprint(getContinuousItemsCount(
    ['A', 'B', 'A', 'A', 'B', 'A', 'A', 'A', 'B', 'A']))
pprint(getContinuousItemsCount(
    ['H', 'T', 'H', 'H', 'T', 'T', 'T', 'T', 'T', 'H']))
pprint(getContinuousItemsCount(
    ['H', 'H', 'H', 'H', 'H', 'T', 'H', 'T', 'H', 'H']))
pprint(getContinuousItemsCount(
    ['H', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'T', 'T']))

以上是关于python 将连续元素分组,然后找出出现次数最多的。的主要内容,如果未能解决你的问题,请参考以下文章

Python实用黑科技——找出序列里面出现次数最多的元素

找出字符串中连续出现次数最多的子串

找出字符串中连续出现次数最多的子串

如何找出数组中出现次数超过长度一半的元素

在c#中找出一个数组中出现次数最多的元素,求各种方法,要详细的代码

找出一个数组中出现次数最多的那个元素。