两个不相等的列表显示相等的 python



我正在尝试检查这两个字符串是否是字谜。 但是对于下面的代码:

string1 = 'listen'
string2 = 'silena'
s1 = list(string1)
s2 = list(string2)
if (len(s1)!=len(s2)):
print("Not an anagram")
else:
if(s1.sort() == s2.sort()):
print("it is an anagram")
else:
print("not an anagram") 

Python 抛出一个输出,指出字符串是字谜。 对于 if 条件,它将答案抛出为真而不是假。

list.sort()

对列表进行排序并返回None。所以你正在测试if None==None.

也许你的意思是

if sorted(s1)==sorted(s2):

您也可以完全跳过列表并拥有

if sorted(string1)==sorted(string2):

最新更新