跳到主要内容

Python 程序:检查两个字符串是否为变位词

要理解这个示例,你需要了解以下Python编程主题的知识:

如果我们可以通过重新排列一个字符串的字符来形成另一个字符串,则这两个字符串被称为变位词。例如,Race和Care。在这里,我们可以通过重新排列Care的字符来形成Race。

Python程序:使用sorted()检查两个字符串是否为变位词

str1 = "Race"
str2 = "Care"

# 将两个字符串都转换为小写
str1 = str1.lower()
str2 = str2.lower()

# 检查长度是否相同
if(len(str1) == len(str2)):

# 排序字符串
sorted_str1 = sorted(str1)
sorted_str2 = sorted(str2)

# 如果排序后的字符数组相同
if(sorted_str1 == sorted_str2):
print(str1 + " 和 " + str2 + " 是变位词。")
else:
print(str1 + " 和 " + str2 + " 不是变位词。")

else:
print(str1 + " 和 " + str2 + " 不是变位词。")

输出

race 和 care 是变位词。

我们首先将字符串转换为小写。这是因为Python区分大小写(即Python中的Rr是两个不同的字符)。

这里,

  • lower() - 将字符转换为小写
  • sorted() - 对两个字符串进行排序

如果排序后的数组相等,则这两个字符串是变位词。