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

Python编写字符串唯一字符前后拼接ASCII值函数的错误如何解决?

错误原因
  • 去重逻辑完全失效:你使用结果列表lis作为去重判断依据,但lis存储的是「ASCII值+字符+ASCII值」格式的拼接字符串,而你判断的是原单个字符是否在lis中,两者类型/内容完全不匹配,重复字符无法被过滤,会多次加入结果列表。
  • 参数命名不规范:你使用Python内置字符串类型关键字str作为参数名,会覆盖内置功能,属于错误写法。
修正方案

新增一个单独的集合存储已出现过的原字符,用来做去重判断,遍历字符的时候直接遍历输入字符串即可,不需要用下标循环。
修正后代码如下:

def function_name(input_str):
    res = []
    seen = set()
    for char in input_str:
        if char not in seen:
            seen.add(char)
            ascii_code = ord(char)
            res.append(f"{ascii_code}{char}{ascii_code}")
    return res

print(function_name("pythonbook"))
运行结果

['112p112', '121y121', '116t116', '104h104', '111o111', '110n110', '98b98', '107k107'],和预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:39:00