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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
python实现的一个火车票转让信息采集器
Jul 09 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
python中map()函数的使用方法示例
Sep 29 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
对numpy Array [: ,] 的取值方法详解
Jul 02 Python
python修改文件内容的3种方法详解
Nov 15 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
python datetime时间格式的相互转换问题
Jun 11 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
Python 添加文件注释和函数注释操作
Aug 09 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
牡丹941资料
2021/03/01 无线电
php银联网页支付实现方法
2015/03/04 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
VueJS全面解析
2016/11/10 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
详解Node 定时器
2018/02/26 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
pygame实现非图片按钮效果
2019/10/29 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
使用Python实现批量ping操作方法
2020/05/06 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
运动会广播稿50字
2014/01/26 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
病危通知单
2015/04/17 职场文书
城南旧事读书笔记
2015/06/29 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript