Python中sort和sorted函数代码解析

本文研究的主要是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函数代码解析的全部内容,希望对大家有所帮助。

转载于:https://www.cnblogs.com/amengduo/p/9586415.html

Python中sort和sorted函数代码解析相关推荐

  1. python中sort函数源代码_Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  2. Python中sort与sorted函数

    python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性的sorted()函数则对所有可迭代的序列都是适用的: 并且sort()函数是内置函数,会改变当前对象,而sorted()函 ...

  3. python中sort和sorted区别_Python中的 sort 和 sorted的用法与区别

    今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别 1. sort: ...

  4. Python中sort和sorted的用法与区别

    1. sort: sort是Python中列表的方法 sort() 方法语法: list.sort(key=None, reverse=False) 有两个参数,这里不讲第一个参数,第二个参数当 re ...

  5. python中sort函数是什么意思_python中sort和sorted函数

    在学习python的过程中,感觉python中的排序相和c++中的泛型算法还是比较相似的,但相对于c++而言更加简单易用. python中列表的内置函数sort()可以对列表中的元素进行排序,而全局性 ...

  6. Python中sort()和sorted()的区别

    Python中提供了两种常用的对列表进行排序的方法: 使用列表对象的sort()方法: 使用内置的sorted()函数: 1.使用列表对象的sort()方法 列表对象提供了sort()方法对于原列表中 ...

  7. [转载] python中sort,sorted,reverse,reversed的区别

    参考链接: Python中的sort 简单的说以上四个内置函数都是排序. 对于sort和reverse都是list列表的内置函数,一般不传参数,没有返回值,会改变原列表的值. 而sorted和reve ...

  8. [转载] python中sort()与sorted()

    参考链接: Python中的Sorted 本文主要讲sort与sorted的主要区别,以便正确使用 一. sort()只能用于列表:sorted()可以用于所有可迭代对象: 比如: str_a = & ...

  9. python中 .sort()、 sorted()和 .reverse() 、reversed()的区别

    原文链接? 现在举例说明: .sort() 相当于: .sort(reverse=False). 若 reverse=True,则是降序排列. a = [1,4,5,3,2,4,5,6,7,8] b ...

最新文章

  1. 拒绝枯燥,趣味学python!python基础练习:趣味百题!
  2. ThinkPHP 框架培训资料
  3. oracle 非数字型转数字型
  4. Xtract 实现 VMware Vsphere 迁主机到 Nutanix cluster
  5. 小程序 遮照 mask 背景透明,里面内容不透明
  6. python 测试mysql数据库_Python MySQL 数据库之测试索引
  7. php dirname(_FILE_)
  8. java删除图片杂色_PS中级教程!手把手教你绘制霸气酷炫的暗黑3壁纸
  9. 如何向NCBI上传线粒体基因组序列
  10. LeetCode中等题之整数转罗马数字
  11. IV油管套件和配件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  12. 2D游戏知识点二、Unity 2D游戏主角基本功能和动画
  13. 美股网络券商史考特证券被黑 460万客户受影响
  14. 面试官:CSS如何画一个三角形?原理是什么?
  15. 长安大学 计算机专业分数线,2018长安大学录取分数线 历年分数线及专业排名
  16. mysql数据割接_割接常见问题
  17. 突发!倪行军出任支付宝中国董事长,技术出身的他,曾写下“支付宝”第一行代码.........
  18. Winamp 插件技术
  19. Word中在纵向页中插入横向页的操作方法
  20. krpano教程 - 小行星开场效果的使用

热门文章

  1. 筛选法建立初始堆_学术简报|基于库仑效率的退役锂离子动力电池储能梯次利用筛选...
  2. jquery隐式迭代
  3. linux 域名对应ip 端口号,【原创】Linux基础之测试域名IP端口连通性
  4. 快速排序 与 归并排序
  5. Python入门--字典元素的操作,key的判断(in not in),字典元素删除(del),字典元素的增加,清空(clear()),修改
  6. 1500ml等于多少l_发动机1.5T、2.0T大概等于多少L?涡轮增压就一定比自然吸气好?...
  7. 求素数--筛选法和打表
  8. bzoj 3377: [Usaco2004 Open]The Cow Lineup 奶牛序列
  9. bzoj 1116: [POI2008]CLO(并查集)
  10. bzoj 4765: 普通计算姬(分块+树状数组)