You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表中快速移除连续重复元素的最优方法

移除Python列表中连续重复元素的简洁高效实现方法

这里提供两种更简洁、高效的实现方式,解决你手动循环中末尾元素处理繁琐、大数据量表现一般的问题:

方法一:利用itertools.groupby(推荐)

Python标准库中的itertools.groupby专门用来处理连续重复元素的分组,代码简洁且效率极高,适合大数据量场景:

from itertools import groupby

myList = [1, 2, 3, 3, 2, 4, 4, 1, 4]
result = [key for key, _ in groupby(myList)]
print(result)  # 输出: [1, 2, 3, 2, 4, 1, 4]

groupby会遍历列表,将连续相同的元素归为一个分组,我们只需要提取每个分组的key(即元素本身),就能得到去重后的列表。它基于迭代器实现,内存占用极低,大数据量下的性能表现远优于手动索引循环。

方法二:优化手动循环写法

如果你不想导入外部库,可以优化原有循环逻辑,避免单独处理末尾元素,提升代码可读性:

myList = [1, 2, 3, 3, 2, 4, 4, 1, 4]
result = []
prev_item = None

for item in myList:
    if item != prev_item:
        result.append(item)
        prev_item = item

print(result)  # 输出: [1, 2, 3, 2, 4, 1, 4]

这种写法通过记录上一个遍历的元素,直接遍历整个列表,无需处理索引和单独判断末尾元素,逻辑更清晰,性能和原生循环持平,但代码简洁度大幅提升。

内容的提问来源于stack exchange,提问作者Chris_abc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:42:34