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中为什么要用self探讨
Apr 14 Python
python实现TF-IDF算法解析
Jan 02 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
python实现linux下抓包并存库功能
Jul 18 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
对django views中 request, response的常用操作详解
Jul 17 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 Python
scrapy redis配置文件setting参数详解
Nov 18 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调用数据库的存贮过程!
2006/10/09 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
vue-router路由懒加载及实现的3种方式
2021/02/28 Vue.js
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
跟老齐学Python之数据类型总结
2014/09/24 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python进行特征提取的示例代码
2020/10/15 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
幼儿园运动会入场词
2014/02/10 职场文书
中秋寄语大全
2014/04/11 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
八年级数学教学反思
2016/02/17 职场文书