Python中sort和sorted函数代码解析


Posted in Python onJanuary 25, 2018

本文研究的主要是Python中sort和sorted函数的相关内容,具体如下。

一、sort函数

sort函数是序列的内部函数

函数原型:

L.sort(cmp=None, key=None, reverse=False)

函数作用:

它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序

参数说明:

(1) cmp参数

cmp接受一个函数,拿整形举例,形式为:

def f(a,b):
   return a-b

如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了

(2) key参数

key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下

def f(a):
   return len(a)

key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

(3) reverse参数

接受False 或者True 表示是否逆序

sort举例:

(1)按照元素长度排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f(x):
  return len(x)
sort(key=f)
print L

输出:

[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

(2)按照每个字典元素里面key为1的元素的值排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f2(a,b):
  return a[1]-b[1]
L.sort(cmp=f2)
print L

输出:

[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]

二、sorted函数

sorted函数是内建函数,他接受一个序列,返回有序的副本

他与sort的唯一区别就是会返回副本

总结

以上就是本文关于Python sort sorted函数代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
Python子类继承父类构造函数详解
Feb 19 Python
python requests使用socks5的例子
Jul 25 Python
pip安装python库的方法总结
Aug 02 Python
Python图像处理模块ndimage用法实例分析
Sep 05 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
初学者学习Python好还是Java好
May 26 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
python 实现音频叠加的示例
Oct 29 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 #Python
Python微信公众号开发平台
Jan 25 #Python
Python实现PS图像调整黑白效果示例
Jan 25 #Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 #Python
http请求 request失败自动重新尝试代码示例
Jan 25 #Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 #Python
Python使用requests发送POST请求实例代码
Jan 25 #Python
You might like
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
深入php数据采集的详解
2013/06/02 PHP
ajax java 实现自动完成功能
2012/12/19 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
《桂林山水》教学反思
2014/02/08 职场文书
校庆口号
2014/06/20 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
环保证明
2015/06/23 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
Redis实现短信验证码登录的示例代码
2022/06/14 Redis