【发布时间】:2023-03-09 04:38:01
【问题描述】:
我无法让这个 anagram 函数正常工作。目的是为了
获取2个字符串abc和cba的函数,将它们转换为列表;
按字母顺序对它们进行排序,比较列表中的元素并打印它们是否是字谜。
我的代码如下...
def anagram(str1, str2):
x = str1
y = str2
x1 = x.sort()
y1 = y.sort()
if (x1) == (y1):
print("Anagram is True")
else:
print("Anagram is False")
str1 = str('abc')
str2 = str('cba')
print(anagram(str1, str2))
【问题讨论】:
-
x 和 y 的类型是什么?他们有
sort方法吗?x.sort()在做什么? -
您不能使用
.sort字符串,一旦它们成为列表,请注意.sort()是就地,并返回None。此外,本地别名似乎没有意义,例如str1到x。 -
sorted(x) == sorted(y) -
请注意,您的整个函数可以简化为
print("Anagram is {!r}".format(sorted(str1) == sorted(str2)))。