Python3怎么实现自定义比较排序
导读:本文共2717.5字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 自定义比较排序/运算符Python3和Python2相比有挺多变化。在Python2中可以直接写一个cmp函数作为参数传入sort来自定义排序,但是Python3取消了。在这里总结一下Python3的自定义排序的两种写法,欢迎补充。我们以二维空间中的点来作为待排序的数据结构,我们希望能先比较x后再比较y。classPos:def__init__(self,x=... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。Python3和Python2相比有挺多变化。
在Python2中可以直接写一个cmp函数作为参数传入sort来自定义排序,但是Python3取消了。
在这里总结一下Python3的自定义排序的两种写法,欢迎补充。
我们以二维空间中的点来作为待排序的数据结构,我们希望能先比较x后再比较y。
第一种方法我们还是以重写cmp或lambda表达式的形式,和Python2很类似
注意,此方法用sorted是不能成功排序的
只是要借助functools
Python2中可以直接重写__cmp__方法来实现比较,但是Python3中已经取消了.
Python3中需要细分每一个比较运算符.
实现如下
我们实践一下
最后我们回到排序
本文:
Python3怎么实现自定义比较排序的详细内容,希望对您有所帮助,信息来源于网络。