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

如何合并列表中连续重复的'-'元素且不影响其他重复元素?

原代码的问题是没有限定仅合并连续的'-',对所有连续相等的元素都做了去重,同时存在索引异常的隐藏问题:当i=0时output[i-1]实际取到的是列表最后一个元素,若首元素和尾元素相同会被错误过滤。

修复方案1:遍历实现(可读性最优)

output = ['9', '-', '-', '7', '-', '4', '4', '-', '3', '-', '0', '2']
final = []
prev_item = None
for item in output:
    # 仅跳过连续重复的'-'
    if item == '-' and prev_item == '-':
        continue
    final.append(item)
    prev_item = item

# 如需拼接为字符串,执行:
# res = ''.join(final)
# 输出结果为 '9-7-44-3-02'

修复方案2:列表推导式实现

output = ['9', '-', '-', '7', '-', '4', '4', '-', '3', '-', '0', '2']
# 单独处理首个元素避免索引异常
final = [output[0]] + [output[i] for i in range(1, len(output)) if not (output[i] == '-' and output[i-1] == '-')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:36:03