リストが与えられた場合:
>>> l = ['x', 'x', 'y', 'y', 'x']
次を使用して、リストの数を取得できましたcollections.Counter
。
>>> from collections import Counter
>>> Counter(l)
Counter({'x': 3, 'y': 2})
リスト内の要素のグローバル カウントではなく、連続したアイテムをカウントするにはどうすればよいですか? 例えば
>>> l = ['x', 'x', 'y', 'y', 'x']
>>> ContiguousCounter(l)
[('x',2), ('y',2), ('x', 1)]
>>> l = ['x', 'x', 'y', 'y', 'x', 'x', 'x', 'y']
>>> ContiguousCounter(l)
[('x',2), ('y',2), ('x', 3), ('y', 1)]