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脚本操作MongoDB的教程
Apr 16 Python
python实现发送邮件功能
Jul 22 Python
python 垃圾收集机制的实例详解
Aug 20 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 Python
python高阶爬虫实战分析
Jul 29 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
Python图像处理模块ndimage用法实例分析
Sep 05 Python
Pycharm小白级简单使用教程
Jan 08 Python
django form和field具体方法和属性说明
Jul 09 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 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
当海贼王变成JOJO风
2020/03/02 日漫
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
url decode problem 解决方法
2011/12/26 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
php如何连接sql server
2015/10/16 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python实现选择排序
2017/06/04 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python连接mongodb集群方法详解
2020/02/13 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
区三好学生主要事迹
2014/01/30 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
教师师德师风整改措施
2014/10/24 职场文书
无保留意见审计报告
2015/06/05 职场文书
学会感恩主题班会
2015/08/12 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python