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

如何从字符串中删除回文单词?现有代码无法移除回文词的原因是什么

故障原因
  • 核心问题是回文判断对大小写敏感:你输出中保留的单词是首字母大写的Malayalam,原单词首字符为大写M、尾字符为小写m,反转后得到的字符串为malayalaM,和原字符串不相等,因此没有被判定为回文,不会被移除。
  • 你给出的测试输入写的是全小写malayalam,但输出里的该单词为大写开头,说明你实际处理的文本中这个单词本身就是首字母大写的,和你写的示例输入不一致。
修复代码

调整判断逻辑,先把单词统一转为全小写(或全大写)后再做回文校验即可:

lis = text.split()
newlis = []
for word in lis:
    # 统一大小写后判断回文,避免大小写干扰
    if word.lower() != word.lower()[::-1]:
        newlis.append(word)
print(newlis)
优化说明
  • 直接遍历单词列表即可,不需要通过索引循环,代码可读性更高
  • split()默认按任意数量的空白字符(空格、制表符、换行符等)分割,比手动传" "的兼容性更强,不会因为单词间有多个空格生成空字符串元素
  • 增加lower()调用后,不管单词大小写是什么格式,都能正确识别回文。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:07