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 相关文章推荐
pycharm 使用心得(四)显示行号
Jun 05 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
如何基于Python实现自动扫雷
Jan 06 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
python神经网络编程实现手写数字识别
May 27 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
详解Python openpyxl库的基本应用
Feb 26 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连接access数据库
2008/03/27 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
python使用cookie库操保存cookie详解
2014/03/03 Python
python调用新浪微博API项目实践
2014/07/28 Python
python获取android设备的GPS信息脚本分享
2015/03/06 Python
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python实现把数字转换成中文
2015/06/29 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
Python 切分数组实例解析
2019/11/07 Python
python之array赋值技巧分享
2019/11/28 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
职专应届生求职信
2013/11/16 职场文书
教代会闭幕词
2015/01/28 职场文书
MBA推荐信怎么写
2015/03/25 职场文书
罗马假日观后感
2015/06/08 职场文书
JS ES6异步解决方案
2021/04/29 Javascript