我有一个向量数组,我想按长度对它们进行排序:
class Vector:
def __init__(self, x, y):
self.x, self.y = x, y
def __add__(a, b):
return Vector(a.x + b.x, a.y + b.y)
def __str__(a):
return str(a.x) + ' ' + str(a.y) + '\n'
def __key__(self):
return self.x * self.x + self.y * self.y
a = []
a.append(Vector(1,2))
a.append(Vector(1, 1))
a.sort()
print("".join(map(str,a)))
它说:“不可排序的类型:Vector() < Vector()”它要我创建lt
, gt
.. 方法。但我想在不使用的情况下进行排序cmp
。可能吗?