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中base64加密解密方法实例分析
May 16 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
python+django快速实现文件上传
Oct 24 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
python3 flask实现文件上传功能
Mar 20 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
对于Python深浅拷贝的理解
Jul 29 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
tensorflow tf.train.batch之数据批量读取方式
Jan 20 Python
python字符串的index和find的区别详解
Jun 20 Python
python实现扫雷游戏的示例
Oct 20 Python
用python爬虫批量下载pdf的实现
Dec 01 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
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
python查询sqlite数据表的方法
2015/05/08 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
python如何写出表白程序
2020/06/01 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
销售人员自我评价怎么写
2013/09/19 职场文书
高中物理教学反思
2014/02/08 职场文书
竞聘书格式及范文
2014/03/31 职场文书
成立公司计划书
2014/05/07 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
python基于opencv批量生成验证码的示例
2021/04/28 Python