3
給出一個列表:在列表中查找項目的連續數量?
>>> 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)]