📅  最后修改于: 2023-12-03 14:45:58.405000             🧑  作者: Mango
在Python中,我们可以使用 itertools
模块中的 groupby()
方法来删除所有连续重复的元素。
groupby()
方法是Python的内置方法之一,可以将可迭代的对象按照某个规则进行分组。这个方法返回一个迭代器,我们可以通过这个迭代器来访问每个分组。
下面是一个使用 groupby()
方法删除所有连续重复的元素的示例代码:
from itertools import groupby
def remove_consecutive_duplicates(lst):
result = []
for k, g in groupby(lst):
result.append(k)
return result
这个函数接收一个列表 lst
作为参数,并返回一个不包含连续重复元素的新列表。它遍历 lst
中的每个元素,将连续出现的相同元素视为一个分组,然后将该分组的第一个元素添加到结果列表中。
现在让我们使用这个函数来删除一个列表中的所有连续重复元素。首先,我们定义一个列表:
my_lst = [1, 2, 2, 3, 3, 3, 4, 5, 5]
然后,我们调用 remove_consecutive_duplicates()
函数来删除连续重复元素:
result_lst = remove_consecutive_duplicates(my_lst)
现在, result_lst
变量的值为:
[1, 2, 3, 4, 5]
我们成功删除了所有连续重复元素!
groupby()
方法是 Python 中一个重要的分组工具,它可以方便地将可迭代对象按照规则分组。我们可以利用这个方法删除任何连续重复的元素。