python统计列表中连续重复的元素
时间: 2023-05-18 11:00:27 浏览: 235
在Python中,可以使用迭代器来处理列表中连续重复的元素。例如,可以使用itertools模块中的groupby函数来将重复的元素分组。该函数接受一个可迭代对象作为参数,并返回一个迭代器。每个元素代表一组连续的重复元素,并且由两个值组成:第一个值是重复的元素本身,第二个值是这些元素的迭代器。下面是一个使用groupby函数统计列表中连续重复元素的示例代码:
```python
import itertools
def count_duplicates(lst):
return [(key, len(list(group))) for key, group in itertools.groupby(lst)]
# 测试代码
lst = [1, 1, 2, 2, 2, 3, 4, 4, 5, 5]
result = count_duplicates(lst)
print(result) # 输出:[(1, 2), (2, 3), (3, 1), (4, 2), (5, 2)]
```
在这个示例中,我们定义了一个count_duplicates函数,它使用groupby函数来将重复的元素分组,并返回一个新的列表,其中每个元素表示一个重复元素及其出现次数。运行该代码的输出结果是:[(1, 2), (2, 3), (3, 1), (4, 2), (5, 2)]。这表示列表lst中有两个1,三个2,一个3,两个4和两个5。这是一个比较简单和直接的做法。
阅读全文