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的Bottle框架中返回静态文件和JSON对象的方法
Apr 30 Python
详解python的webrtc库实现语音端点检测
May 31 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
实例讲解Python爬取网页数据
Jul 08 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
图解Python中深浅copy(通俗易懂)
Sep 03 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 事件机制(2)
2011/03/23 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
vue多级多选菜单组件开发
2020/09/08 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
彻底理解Python list切片原理
2017/10/27 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
求职意向书范文
2014/04/01 职场文书
政风行风整改方案
2014/10/25 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
英文道歉信
2015/01/20 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server