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

Python如何通过统计相邻相同字符实现指定规则的字符串转换

Python相邻重复字符转换功能实现

实现逻辑

  • 遍历输入字符串,实时记录当前字符和其连续出现的次数
  • 遇到和当前记录不同的字符时,将已统计的当前字符组拼接进结果:如果次数为1仅拼接字符,次数大于1则先拼接次数字符串、再拼接字符
  • 遍历结束后,拼接最后一组未处理的字符统计结果
  • 全程使用列表存储中间结果,避免字符串频繁拼接带来的性能损耗

完整实现代码

def convert_string(s: str) -> str:
    # 处理空输入的边界情况
    if not s:
        return ""
    result = []
    current_char = s[0]
    repeat_count = 1

    for char in s[1:]:
        if char == current_char:
            repeat_count += 1
        else:
            if repeat_count > 1:
                result.append(str(repeat_count))
            result.append(current_char)
            current_char = char
            repeat_count = 1
    
    # 处理最后一组连续字符
    if repeat_count > 1:
        result.append(str(repeat_count))
    result.append(current_char)

    return "".join(result)

功能验证

你可以直接调用函数测试示例场景:

print(convert_string("assdggg"))
# 输出结果:a2sd3g

其他测试用例参考:

  • 输入"aaaaa",输出"5a"
  • 输入"bbccddde",输出"2b2c3de"
  • 输入"a",输出"a"
  • 输入空字符串,输出空字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:09:03