Python 判断两个字符串是否为字母异位词(anagram)
字母异位词(anagram)是指由相同字母重新排列形成的不同单词或短语。例如,"listen" 和 "silent" 就是字母异位词。我们可以通过比较两个字符串的字母组成来判断它们是否为字母异位词。
实例
def is_anagram(str1, str2):
# 去除空格并将字符串转换为小写
str1 = str1.replace(" ", "").lower()
str2 = str2.replace(" ", "").lower()
# 如果两个字符串的长度不同,直接返回 False
if len(str1) != len(str2):
return False
# 对两个字符串进行排序并比较
return sorted(str1) == sorted(str2)
# 测试
print(is_anagram("listen", "silent")) # True
print(is_anagram("apple", "pale")) # False
# 去除空格并将字符串转换为小写
str1 = str1.replace(" ", "").lower()
str2 = str2.replace(" ", "").lower()
# 如果两个字符串的长度不同,直接返回 False
if len(str1) != len(str2):
return False
# 对两个字符串进行排序并比较
return sorted(str1) == sorted(str2)
# 测试
print(is_anagram("listen", "silent")) # True
print(is_anagram("apple", "pale")) # False
代码解析:
str1.replace(" ", "").lower()
和str2.replace(" ", "").lower()
:去除字符串中的空格并将其转换为小写,以确保比较时不区分大小写和空格。if len(str1) != len(str2):
:如果两个字符串的长度不同,它们不可能是字母异位词,直接返回False
。sorted(str1) == sorted(str2)
:对两个字符串进行排序,如果排序后的结果相同,则它们是字母异位词,返回True
,否则返回False
。
输出结果:
True False
点我分享笔记