现在位置: 首页 > Python 3 教程 > 正文

Python 判断两个字符串是否是 anagram

Document 对象参考手册 Python3 实例

Anagram 是指由相同字母重新排列而成的单词或短语。例如,"listen" 和 "silent" 就是一对 anagram。我们可以通过比较两个字符串的字母组成来判断它们是否是 anagram。

实例

def is_anagram(str1, str2):
    # 移除空格并将字符串转换为小写
    str1 = str1.replace(" ", "").lower()
    str2 = str2.replace(" ", "").lower()

    # 检查两个字符串的长度是否相同
    if len(str1) != len(str2):
        return False

    # 对字符串进行排序并比较
    return sorted(str1) == sorted(str2)

# 测试
print(is_anagram("listen", "silent"))  # True
print(is_anagram("triangle", "integral"))  # True
print(is_anagram("apple", "pale"))  # False

代码解析:

  1. str1.replace(" ", "").lower()str2.replace(" ", "").lower():首先移除字符串中的空格,并将字符串转换为小写,以确保比较时不区分大小写和空格。
  2. if len(str1) != len(str2)::检查两个字符串的长度是否相同,如果长度不同,则它们不可能是 anagram。
  3. sorted(str1) == sorted(str2):对两个字符串进行排序,并比较排序后的结果。如果排序后的字符串相同,则它们是 anagram。

输出结果:

True
True
False

Document 对象参考手册 Python3 实例