Python 字谜字符串

标签 python

我应该编写一个函数来确定两个字符串是否是变位词。

我现在编写的代码并不能很好地工作。

例如,样本输入之一是

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/

相关文章:

python - OpenCV Crop Hough Circles Python无法正常工作

python - python脚本同时运行的问题

python - 在 Python 中使用分隔符对 CSV 文件进行排序

python - Plone:使用自定义工作流程将项目添加到文件夹类型时,用户角色会降至匿名

python - 如何更新 KML 以包含具有值的新元素

python - Stata 和 Python (Pandas) 之间最高效的 I/O 设置

python - 无法在电子邮件中添加附件

python - LabelEncoder 将不同的值编码为相同的值

python - Elasticsearch-py如果ES服务器关闭,连接尝试将如何处理?

python - 如何使用 pandas 数据框实现高效的嵌套循环