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下的多进程编程
Apr 28 Python
浅谈五大Python Web框架
Mar 20 Python
Python多线程扫描端口代码示例
Feb 09 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
Python进度条的制作代码实例
Aug 31 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
基于Pytorch SSD模型分析
Feb 18 Python
Python任务调度模块APScheduler使用
Apr 15 Python
python如何实现图片压缩
Sep 11 Python
如何编写python的daemon程序
Jan 07 Python
python热力图实现的完整实例
Jun 25 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
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
国庆节文艺活动方案
2014/02/03 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
教师暑期培训感言
2014/08/15 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
道歉的话怎么说
2015/05/12 职场文书
入党介绍人意见范文
2015/06/01 职场文书
张思德观后感
2015/06/09 职场文书
2016年清明节寄语
2015/12/04 职场文书