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 相关文章推荐
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
如何更优雅地写python代码
Jul 02 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
使用python模拟高斯分布例子
Dec 09 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
对python中arange()和linspace()的区别说明
May 03 Python
Django使用Profile扩展User模块方式
May 14 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 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 include的妙用,实现路径加密
2008/07/29 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
JS获取整个页面文档的实现代码
2011/12/15 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Vuex 入门教程
2018/01/10 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
vue实现移动端拖动排序
2020/08/21 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python WSGI的深入理解
2018/08/01 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
vivo智能手机官方商城:vivo
2016/09/22 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
2014道德模范事迹材料
2014/02/16 职场文书
《风筝》教学反思
2014/04/10 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
诚信承诺书
2015/01/19 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
初一语文教学反思
2016/03/03 职场文书
导游词之潮音寺
2019/09/26 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript