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 相关文章推荐
举例讲解Django中数据模型访问外键值的方法
Jul 21 Python
简单谈谈python中的多进程
Nov 06 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
python面试题之列表声明实例分析
Jul 08 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
python批量处理文件或文件夹
Jul 28 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
python基于tkinter制作下班倒计时工具
Apr 28 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 MYSQL中插入当前时间
2008/04/06 PHP
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
PHP+MySQL插入操作实例
2015/01/21 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
自荐信需注意事项
2014/01/25 职场文书
个人党性剖析材料
2014/02/03 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
JavaScript的Set数据结构详解
2022/02/18 Javascript