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 re正则表达式模块(Regular Expression)
Jul 16 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
python logging日志模块的详解
Oct 29 Python
对python使用telnet实现弱密码登录的方法详解
Jan 26 Python
python flask框架实现传数据到js的方法分析
Jun 11 Python
Python3离线安装Requests模块问题
Oct 13 Python
Django中使用MySQL5.5的教程
Dec 18 Python
基于Python把网站域名解析成ip地址
May 25 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
python 定义函数 返回值只取其中一个的实现
May 21 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
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
一个javascript图片阅览组件
2010/11/09 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
Python随机生成彩票号码的方法
2015/03/05 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
通过python3实现投票功能代码实例
2019/09/26 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
Python random模块的使用示例
2020/10/10 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
学校爱心捐款倡议书
2014/05/13 职场文书
班级文化建设标语
2014/06/23 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书