Python新手:为什么比较两个排序列表返回false
输出显示为假,为什么?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都不会受到影响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,
假设您正试图找到方法查看两个列表是否包含相同的元素,而不考虑顺序,并且不需要排序版本,请参见。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