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

如何拼接字符串?字符统计结果转指定格式字符串的实现问题

字符串字符计数格式转换解决方案

问题背景

需要实现函数ab(n),统计输入字符串中每个字符的出现次数,返回形如a2b2c1的拼接字符串。当前代码返回的是混合字符与数字的列表,需修改为目标格式。

修正后的代码方案

方案1:直接构建结果字符串

def ab(n):
    result = ""
    processed_chars = []
    for char in n:
        if char not in processed_chars:
            processed_chars.append(char)
            count = n.count(char)
            result += f"{char}{count}"
    return result

方案2:列表收集后拼接(效率更优)

def ab(n):
    segments = []
    processed_chars = []
    for char in n:
        if char not in processed_chars:
            processed_chars.append(char)
            count = n.count(char)
            segments.append(char)
            segments.append(str(count))
    return ''.join(segments)

关键修改说明

  1. 类型转换:将统计得到的数字次数转为字符串类型,确保能与字符拼接成目标格式。
  2. 去重逻辑优化:新增processed_chars列表单独记录已处理的字符,避免原代码中因列表同时存储字符和数字导致的判断错误(例如输入含数字字符时,原逻辑会误判字符重复)。
  3. 结果拼接:要么直接累加字符串,要么用列表收集所有片段后通过''.join()一次性拼接,后者在处理长字符串时效率更高。

测试验证

调用ab("aabbc"),两种方案均返回"a2b2c1",符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:50:22