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

Python遍历整数列表按规则拼接带短横线字符串的实现问题

实现Python整数列表按规则拼接的方法

实现思路

  • 核心逻辑是将列表按「非0数字作为新分段起点,后续0归入当前分段」的规则拆分,再用短横线拼接所有分段,完全匹配需求的输出规则

完整实现代码

list_of_integers = [0, 0, 0, 2, 0, 4, 6, 0, 8, 0, 0, 0, 1, 9]

def concat_by_rule(int_list):
    # 处理空列表边界
    if not int_list:
        return ""
    segments = []
    current_segment = []
    for num in int_list:
        if num != 0:
            # 遇到非0值则保存上一个分段,开启新分段
            if current_segment:
                segments.append(''.join(map(str, current_segment)))
            current_segment = [num]
        else:
            # 0直接追加到当前分段末尾
            current_segment.append(num)
    # 追加最后一个剩余分段
    if current_segment:
        segments.append(''.join(map(str, current_segment)))
    return '-'.join(segments)

result = concat_by_rule(list_of_integers)
print(result) # 输出结果:000-20-4-60-8000-1-9

补充说明

  • 全程使用Python标准库实现,无第三方依赖
  • 兼容多种边界场景:比如输入[1,0,2,0,0]会输出10-200,输入全0列表[0,0,0]会输出000,输入开头非0列表[2,0,3]会输出20-3,均符合规则要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:15:10