我应该编写一个函数来确定两个字符串是否是变位词。
我现在编写的代码并不能很好地工作。
例如,样本输入之一是
Tom Cruise
So I'm cuter
输出应该是True
,但我的代码一直显示False
。
再比如,当输入是
the eyes
they see
我的代码实际上说 True
这是正确的答案。
所以我不知道为什么我的代码只适用于某些输入。
有人能帮忙吗?
def anagram(a, b):
if(sorted(a)==sorted(b)):
return True
else:
return False
最佳答案
您需要删除所有非字母字符,然后将所有字母转换为小写:
import re
regex = re.compile('[^a-zA-Z]')
return sorted(regex.sub('', a).lower()) == sorted(regex.sub('', b).lower())
关于Python 字谜字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57027540/