use*_*791 0 python syntax-error
我正在尝试编写一个程序来比较两个列表,如果它们都具有相同的变量,则返回“True”,否则返回“False”。
代码是:
def are_lists_equall(list1, list2):
if len(list1) == len(list2) and list1.sort() == list2.sort():
return True
else:
return False
list1 = [0.6, 1, 2, 3]
list2 = [9, 0, 5, 10.5]
print(are_lists_equall(list1, list2))
Run Code Online (Sandbox Code Playgroud)
输出是:
True
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
它们的长度为 4,因此第一个为 true,并且 sort() 方法不返回任何值。相反,它改变了原始列表。就像是
if 4 == 4 and None == None:
Run Code Online (Sandbox Code Playgroud)
这就是为什么它是真实的
如果您想确保比较这些列表,请使用sorted()方法:
sorted(list1) == sorted(list2)会给你False
| 归档时间: |
|
| 查看次数: |
713 次 |
| 最近记录: |