Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python新手:为什么比较两个排序列表返回false_Python - Fatal编程技术网

Python新手:为什么比较两个排序列表返回false

Python新手:为什么比较两个排序列表返回false,python,Python,输出显示为假,为什么?A和B都应就地排序为[1,2,3,4]A。排序是一个函数定义,附加到唯一对象A和B,这就是它们不匹配的原因 如果你跑 printA.sort==A.sort 你会实现的 如果要对每个列表进行排序,需要调用该函数: A=[1,2,4,3] B=[4,3,2,1] 排序 B.分类 C=A=B printC 这将如期实现*请注意,A和B将就地排序,这意味着A和B中的值顺序将发生变化 如果要在不修改A或B的情况下比较排序列表,应执行以下操作: A=[1,2,4,3] B=[4,3,

输出显示为假,为什么?A和B都应就地排序为[1,2,3,4]

A。排序是一个函数定义,附加到唯一对象A和B,这就是它们不匹配的原因

如果你跑

printA.sort==A.sort 你会实现的

如果要对每个列表进行排序,需要调用该函数:

A=[1,2,4,3] B=[4,3,2,1] 排序 B.分类 C=A=B printC 这将如期实现*请注意,A和B将就地排序,这意味着A和B中的值顺序将发生变化

如果要在不修改A或B的情况下比较排序列表,应执行以下操作:

A=[1,2,4,3] B=[4,3,2,1] C=sortedA==sortedB printC 将返回新的已排序副本,因此a或B都不会受到影响


假设您正试图找到方法查看两个列表是否包含相同的元素,而不考虑顺序,并且不需要排序版本,请参见。

TL;格伦博士说了什么

你现在所拥有的并不是你所认为的。我想你要找的是:

A = [1,2,4,3]
B = [4,3,2,1]

C=A.sort == B.sort

print(C)
您的代码只是比较两个方法对象A.sort和B.sort。您可以阅读有关函数比较的更多信息。

您需要使用sortedA和sortedB,而不是A.sort

sort实际上是对列表上的sort函数的引用

A.sort返回None:它对就地排序,但不返回列表

sortedA不会更改,它会返回一个新的排序列表

A=[1,2,4,3] B=[4,3,2,1] C=sortedA==sortedB printC
您正在比较两个函数。如果要调用它们,请添加括号。即使你给他们打电话,.sort也在所难免。您的意思可能是sortedA==sortedB。因为您没有阅读文档。
A = [1,2,4,3]
B = [4,3,2,1]

print(sorted(A) == sorted(B))  # True