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 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
Python3处理HTTP请求的实例
May 10 Python
pandas表连接 索引上的合并方法
Jun 08 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
Feb 20 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 Python
Python趣味入门教程之循环语句while
Aug 26 Python
Python自定义sorted排序实现方法详解
Sep 18 Python
pytorch 6 batch_train 批训练操作
May 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
操作Oracle的php类
2006/10/09 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
动态创建类实例代码
2009/10/07 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
python带参数打包exe及调用方式
2019/12/21 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Python猜数字算法题详解
2020/03/01 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
寒假实习自荐信
2014/01/26 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
法人身份证明书
2014/10/08 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python
Python 统计序列中元素的出现频度
2022/04/26 Python