Python使用sorted排序的方法小结


Posted in Python onJuly 28, 2017

本文实例讲述了Python使用sorted排序的方法。分享给大家供大家参考,具体如下:

# 例1. 按照元素出现的次数来排序
seq = [2,4,3,1,2,2,3]
# 按次数排序
seq2 = sorted(seq, key=lambda x:seq.count(x))
print(seq2) # [4, 1, 3, 3, 2, 2, 2]
# 改进:第一优先按次数,第二优先按值
seq3 = sorted(seq, key=lambda x:(seq.count(x), x))
print(seq3) # [1, 4, 3, 3, 2, 2, 2]
'''
原理:
  先比较元组的第一个值,值小的在前。(注意:False < True)
  如果相等就比较元组的下一个值,以此类推。
'''

运行结果:

Python使用sorted排序的方法小结

#例2.这是一个字符串排序,排序规则:小写<大写<奇数<偶数
s = 'asdf234GDSdsf23'
s2 = "".join(sorted(s, key=lambda x: (x.isdigit(),x.isdigit() and int(x) % 2 == 0,x.isupper(),x)))
print(s2) # addffssDGS33224

运行结果:

Python使用sorted排序的方法小结

#例3. 一道面试题:
list1 = [7, -8, 5, 4, 0, -2, -5]
#要求1.正数在前负数在后 2.正数从小到大 3.负数从大到小
list2 = sorted(list1,key=lambda x:(x<0, abs(x)))
print(list2) # [0,4,5,7,-2,-5,-8]

运行结果:

Python使用sorted排序的方法小结

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python处理json数据中的中文
Mar 06 Python
Python程序设计入门(5)类的使用简介
Jun 16 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
python开发之字符串string操作方法实例详解
Nov 12 Python
50行Python代码实现人脸检测功能
Jan 23 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
Python读写文件基础知识点
Jun 10 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
如何用python处理excel表格
Jun 09 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
python发送邮件实例分享
Jul 28 #Python
Python分治法定义与应用实例详解
Jul 28 #Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 #Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 #Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 #Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 #Python
python django 增删改查操作 数据库Mysql
Jul 27 #Python
You might like
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python从零开始创建区块链
2018/03/06 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
python 两个数据库postgresql对比
2019/10/21 Python
提升python处理速度原理及方法实例
2019/12/25 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
大学生旷课检讨书
2014/01/22 职场文书
关于读书的演讲稿
2014/05/07 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
重点工程汇报材料
2014/08/27 职场文书
库房管理员岗位职责
2015/02/12 职场文书
小英雄雨来观后感
2015/06/09 职场文书
成人成长感言如何写?
2019/08/16 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
浅谈mysql执行过程以及顺序
2021/05/12 MySQL