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

如何用Python实现将字符串转为连续重复字符+次数的格式

字符串连续重复字符段拼接次数的正确实现

原代码存在两个核心问题:

  • 统计的是整个字符串中字符的总出现次数,而非连续重复的次数,完全不符合需求;
  • 每次循环都会覆盖totalstr变量,最终只返回最后一个字符的拼接结果,前面的处理全部丢失。

以下是符合需求的正确实现:

def mycode(myString):
    if not myString:  # 处理空字符串的边界情况
        return ""
    
    result = []
    current_char = myString[0]
    count = 1
    
    for char in myString[1:]:
        if char == current_char:
            count += 1
        else:
            # 将当前连续字符段与次数拼接后存入结果列表
            result.append(current_char * count + str(count))
            current_char = char
            count = 1
    # 处理最后一段未完成的连续字符
    result.append(current_char * count + str(count))
    
    return ''.join(result)

# 测试示例
print(mycode("aaabbcddddd"))  # 输出: aaa3bb2c1ddddd5

代码逻辑说明

  1. 先判断输入是否为空,避免索引越界错误;
  2. 初始化当前跟踪的字符和计数,从字符串第一个字符开始;
  3. 遍历后续字符:
    • 若与当前字符相同,计数加1;
    • 若不同,则将当前连续字符段(重复对应次数的字符)和计数拼接后存入结果列表,再更新跟踪的字符和计数;
  4. 循环结束后,处理最后一段连续字符,最终将结果列表拼接成完整字符串返回。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:56:06