Any comment: class Vector: def __init__(self, x, y): self.x = x self.y = y def __cmp__(self, v): if self.x < v.x and self.y > v.y: return -1 return 0
def v_cmp(v1, v2): if v1.x < v2.x and v1.y > v2.y: return -1 return 0 from random import randint from time import time a = [] for i in range(200000): a += [Vector(randint(0, 500000), randint(0, 500000))] b = a[:] c = a[:] print 'Sorting...' t = time() b.sort(cmp=v_cmp) print time() - t t = time() c.sort() print time() - t print b == c >>> ===================================== RESTART ====== >>> Sorting... 0.906000137329 6.57799983025 True -- http://mail.python.org/mailman/listinfo/python-list