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

如何修改Python变位词检测代码以跳过空格支持句子级检测

变位词检测代码修改方案

你猜测的问题原因正确,错误是由字符串中的空格导致的:原代码会把空格作为有效字符参与长度校验和排序比对,带空格的句子和压缩掉空格的字符串长度不相等,会直接被判定为非变位词。

修改步骤

  • 在字符串转小写处理后,新增去除所有空格的逻辑,调用字符串方法replace(" ", "")即可移除全部空格字符
  • 后续的长度校验、排序、比对逻辑全部基于处理后的无空格字符串执行

修改后的完整代码

str1 = "Race is good"
str2 = "Careisgood"

# 统一转小写后移除所有空格
str1 = str1.lower().replace(" ", "")
str2 = str2.lower().replace(" ", "")

# 校验长度是否一致
if len(str1) == len(str2):
    # 对字符串排序
    sorted_str1 = sorted(str1)
    sorted_str2 = sorted(str2)
    # 比对排序结果
    if sorted_str1 == sorted_str2:
        print(f"{str1} 和 {str2} 是变位词")
    else:
        print(f"{str1} 和 {str2} 不是变位词")
else:
    print(f"{str1} 和 {str2} 不是变位词")

效果验证

针对你给出的测试用例,处理后两个字符串都变为raceisgood,长度一致且排序后结果完全相同,代码会正确判定为变位词。如果需要跳过其他特殊字符(比如标点符号),也可以参考同样的逻辑,提前过滤掉不需要参与比对的字符即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:24:04