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 相关文章推荐
python定时采集摄像头图像上传ftp服务器功能实现
Dec 23 Python
pycharm 使用心得(四)显示行号
Jun 05 Python
跟老齐学Python之正规地说一句话
Sep 28 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
Python使用Django实现博客系统完整版
Sep 29 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
python输入中文的实例方法
Sep 14 Python
python中翻译功能translate模块实现方法
Dec 17 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 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
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
tensorflow 获取变量&打印权值的实例讲解
2018/06/14 Python
python清除函数占用的内存方法
2018/06/25 Python
Python的几种主动结束程序方式
2019/11/22 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
如何解决安装python3.6.1失败
2020/07/01 Python
Python 创建守护进程的示例
2020/09/29 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
成人大专自我鉴定范文
2013/10/19 职场文书
总监职责范文
2013/11/09 职场文书
出纳岗位职责范本
2013/12/01 职场文书
20岁生日感言
2014/01/13 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
挂职自我鉴定
2014/02/26 职场文书
人事部专员岗位职责
2014/03/04 职场文书
青安岗事迹材料
2014/05/14 职场文书
社区助残日活动总结
2014/08/29 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
优秀员工演讲稿
2019/06/21 职场文书
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫