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编程实现语音控制电脑
Apr 01 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
Python中的错误和异常处理简单操作示例【try-except用法】
Jul 25 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
使用python serial 获取所有的串口名称的实例
Jul 02 Python
Python封装成可带参数的EXE安装包实例
Aug 24 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 Python
Python中如何引入第三方模块
May 27 Python
python Matplotlib数据可视化(1):简单入门
Sep 30 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
js下用eval生成JSON对象
2010/09/17 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
教师辞职报告范文
2014/01/20 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
无偿献血倡议书
2014/04/14 职场文书
城管综合整治方案
2014/05/01 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2015年体育部工作总结
2015/04/02 职场文书
项目合作意向书
2015/05/08 职场文书
检讨书怎么写?
2019/06/21 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL