概述
- 本文主要解多字段(存在主序和次序)的排序问题,由于python3的sort没有cmp参数,可能会突然不知所措
- csdn还有通过将多字段组合成元组的方式来实现多字段排序,见本文,不过个人感觉可能没有本文中的方法直观
- 主要原理是python的sort是稳定排序,所以可以先根据次要的序去排,再排主要的序,因为在排主序时若发生相等的情况,元素的顺序会保持在原先序列中的位序关系(也即维持了次要的序)
- 示例代码如下
arr = [(1,2,3), (1,2,1), (1,2,6), (1,3,1), (2,3,1)] # 比如排序的要求是先排元组的第0个元素(升序) # 第0元素相等时再排第1个元素(升序) # 第1个元素还相等时再排第2个元素(升序) arr.sort(key=lambda x:x[2]) arr.sort(key=lambda x:x[1]) arr.sort(key=lambda x:x[0]) print(arr)
最后
以上就是安详钻石为你收集整理的python3利用sort对多字段排序的全部内容,希望文章能够帮你解决python3利用sort对多字段排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复