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生成随机数的方法
Jan 14 Python
Python解释执行原理分析
Aug 22 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
Linux下多个Python版本安装教程
Aug 15 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
python求最大值,不使用内置函数的实现方法
Jul 09 Python
Python学习笔记之While循环用法分析
Aug 14 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
python如何利用traceback获取详细的异常信息
Jun 05 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
php分页思路以及在ZF中的使用
2012/05/30 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python深度优先算法生成迷宫
2018/01/22 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python实现维吉尼亚算法
2019/03/20 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
精彩的广告词
2014/03/19 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
创先争优承诺书
2015/01/20 职场文书
团委工作总结2015
2015/04/02 职场文书