Python如何移除列表中的连续重复元素?
移除列表中的连续重复元素
针对你需要移除列表中连续重复元素的需求,这里提供几种实用的实现方式:
Python 实现
方法一:遍历判断法
这是最直观的实现思路,通过遍历原列表,仅将与结果列表最后一个元素不同的值加入结果:
original_list = [1, 1, 5, 4, 6, 6, 5] if not original_list: result = [] else: result = [original_list[0]] for num in original_list[1:]: if num != result[-1]: result.append(num) print(result) # 输出: [1, 5, 4, 6, 5]
方法二:利用 itertools.groupby
借助Python标准库的groupby函数,按连续相同元素分组后,提取每组的首个元素:
from itertools import groupby original_list = [1, 1, 5, 4, 6, 6, 5] result = [key for key, _ in groupby(original_list)] print(result) # 输出: [1, 5, 4, 6, 5]
JavaScript 实现
如果需要在JS环境中处理,可通过reduce方法实现逻辑:
const originalList = [1, 1, 5, 4, 6, 6, 5]; const result = originalList.reduce((acc, curr) => { if (acc.length === 0 || curr !== acc[acc.length - 1]) { acc.push(curr); } return acc; }, []); console.log(result); // 输出: [1, 5, 4, 6, 5]
以上方法仅处理连续重复的元素,非连续的重复值会被保留,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者AkademiLegi
相关产品推荐
相关产品推荐

