当没有提供密钥时,sort仅使用<运算符,如下例所示:
class A:
def __init__(self,a):
self.a = a
def __lt__(self,other):
return self.a < other.a
def __repr__(self):
return str(self.a)
lst = [A(12),A(10),A(44)]
print(sorted(lst))
Run Code Online (Sandbox Code Playgroud)
在这里,我得到:
[10, 12, 44]
Run Code Online (Sandbox Code Playgroud)
sort内部使用定义的__lt__(小于)运算符,但不等于不优越.仅对操作<员执行排序.
(评论__lt__运营商导致TypeError: unorderable types: A() < A())