可以使用以下方法:
下面是示例代码:
# 方法1:使用循环遍历列表删除重复项
def remove_duplicates1(lst, n):
i = 0
while i < len(lst) - n:
if lst[i:i+n] == [lst[i]] * n:
del lst[i:i+n]
else:
i += 1
return lst
# 方法2:使用列表推导式和切片操作生成新的列表
def remove_duplicates2(lst, n):
return [lst[i] for i in range(len(lst)) if i < n or lst[i] != lst[i-n:i]]
# 测试示例
lst = [1, 2, 2, 2, 3, 3, 4, 5, 5, 5, 5]
n = 3
print(remove_duplicates1(lst.copy(), n))
print(remove_duplicates2(lst.copy(), n))
以上代码中,remove_duplicates1
函数使用循环遍历列表的方式删除重复项,remove_duplicates2
函数使用列表推导式和切片操作生成新的列表。两种方法都能达到删除N个连续的重复项的效果。
推荐的腾讯云相关产品和产品介绍链接地址:
以上是腾讯云提供的一些相关产品,可以根据具体需求选择适合的产品来支持云计算和开发工作。
领取专属 10元无门槛券
手把手带您无忧上云