Python 列表去重:高效去除相邻重复值,保留不相邻重复值

在 Python 中,我们经常需要对列表进行去重操作,但有时我们希望保留不相邻的重复值,只去除相邻的重复值。例如,给定一个列表 [1, 2, 2, 3, 4, 4, 4, 5, 6, 6],我们希望得到 [1, 2, 3, 4, 5, 6],即去除相邻的重复值,保留不相邻的重复值。

我们可以通过遍历列表的方式,判断当前元素与下一个元素是否相等,如果相等则删除下一个元素,直到遍历完整个列表。

以下是一个示例代码:

def remove_adjacent_duplicates(lst):
    i = 0
    while i < len(lst) - 1:
        if lst[i] == lst[i+1]:
            del lst[i+1]
        else:
            i += 1
    return lst

# 测试代码
lst = [1, 2, 2, 3, 4, 4, 4, 5, 6, 6]
result = remove_adjacent_duplicates(lst)
print(result)  # 输出: [1, 2, 3, 4, 5, 6]

在上述代码中,我们使用了一个while循环来遍历列表。在每次循环中,我们检查当前元素和下一个元素是否相等。如果相等,则删除下一个元素;如果不相等,则将索引i自增1,继续检查下一个元素。这样,我们可以保留不相邻重复的值,同时去除相邻重复的值。

希望本文能够帮助您理解如何在 Python 中去除列表中的相邻重复值,同时保留不相邻重复值。

Python 列表去重:高效去除相邻重复值,保留不相邻重复值

原文地址: https://www.cveoy.top/t/topic/fUzG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录