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实现计算最小编辑距离
Mar 17 Python
python实现报表自动化详解
Nov 16 Python
Python实现按特定格式对文件进行读写的方法示例
Nov 30 Python
python smtplib发送带附件邮件小程序
May 22 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
PYQT5实现控制台显示功能的方法
Jun 25 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
python判断链表是否有环的实例代码
Jan 31 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
简单了解如何封装自己的Python包
Jul 08 Python
pytorch 中autograd.grad()函数的用法说明
May 12 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
PHP个人网站架设连环讲(四)
2006/10/09 PHP
PHP的开发框架的现状和展望
2007/03/16 PHP
php图片验证码代码
2008/03/27 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Apache如何部署django项目
2017/05/21 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
Servlet的生命周期
2013/08/25 面试题
街道务虚会发言材料
2014/10/20 职场文书
结婚堵门保证书
2015/05/08 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书