[Python]sort与sorted高级技巧

与其他语言不同,python 3.0之后,弃用了其他语言中常见的cmp方法,在sort方法中改用key实现。

之前一直疑惑自定义对象的排序如何写comparator,最后发现还是通过内部的__cmp__方法来实现。

挖坑

http://www.cnblogs.com/nju2014/p/5569983.html

对这个sort方法还是有点烦, 当key相等时,如果要对不同的列表排序并期望获得一致的输出结果时,就会出现问题。

如要对A = [a, b, c, d] 和B = [b, a, c ,d] 进行排序,存在这样的排序依据 V = {a:4, b:4, c:1, d:1}。

由于sort方法的稳定性,sort(A)结果为[a,b,c,d], sort(B)结果为[b,a,c,d],就会出现结果顺序不一致的问题。

如何解决?引用外部

posted @ 2018-08-10 11:10  oDoraemon  阅读(262)  评论(0编辑  收藏  举报