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的Django框架完成视频处理任务的教程
Apr 02 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
python如何统计序列中元素
Jul 31 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
Python实现自动整理文件的脚本
Dec 17 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 foreach 参数强制类型转换的问题
2010/12/10 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
js实现列表按字母排序
2020/08/11 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
Python解释执行原理分析
2014/08/22 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
python numpy存取文件的方式
2020/04/01 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
汽车专业求职信
2014/06/05 职场文书
优质服务口号
2014/06/11 职场文书
计算机实训报告范文
2014/11/05 职场文书
电气工程师岗位职责
2015/02/12 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js