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

替换连续重复元素:将列表连续重复元素转为元素名+数量格式

处理连续重复元素的列表转换问题

要实现将列表中连续重复元素转换为ElementNameElementNum格式(单个元素保持原样),可以通过遍历列表并跟踪连续元素的计数来完成。以下是Python的实现方案:

代码实现

def compress_consecutive_elements(lst):
    if not lst:
        return []
    result = []
    current_elem = lst[0]
    count = 1
    for elem in lst[1:]:
        if elem == current_elem:
            count += 1
        else:
            # 处理前一组连续元素
            result.append(f"{current_elem}{count}" if count > 1 else current_elem)
            current_elem = elem
            count = 1
    # 处理最后一组元素
    result.append(f"{current_elem}{count}" if count > 1 else current_elem)
    return result

# 测试示例
original_list = ["a", "a", "a", "a", "b", "b", "b", "c", "c", "a"]
print(compress_consecutive_elements(original_list))
# 输出:['a4', 'b3', 'c2', 'a']

逻辑说明

  1. 初始化:先判断输入列表是否为空,为空直接返回空列表;否则将第一个元素设为当前跟踪元素,计数初始化为1。
  2. 遍历对比:从第二个元素开始遍历,若当前元素和跟踪元素相同,计数加1;若不同,则根据计数是否大于1,生成对应格式的字符串加入结果列表,随后更新跟踪元素和计数。
  3. 收尾处理:遍历结束后,处理最后一组连续元素,避免遗漏。

这种思路适用于大多数编程语言,核心都是跟踪连续元素的状态,遇到元素变化时完成前一组的格式转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:05:30