大话 Python:python 基础巩固 -- 内置排序函数 sort 与 sorted

本文详细介绍了Python中列表排序的几种方式,包括sorted()函数、cmp函数以及lambda表达式的使用。并提到一份全面的Python学习资料,涵盖零基础至进阶课程,旨在帮助开发者高效学习和提升技能。
摘要由CSDN通过智能技术生成

3 list_ = list([5, 2, 3, 4, 6, 1])

4 # 执行排序

5 list_.sort(reverse=True)

6 # 结果

7 print list_

使用可选参数 cmp 进行排序,cmp 函数主要是用于比较,通过比较大小的方式来进行排序

1if name == ‘main’:

2 # 定义列表

3 list_ = [(‘e’,2),(‘a’,1),(‘c’,3),(‘d’,4)]

4 # 执行排序

5 list_.sort(cmp=lambda m,n:cmp(m[1],n[1]))

6 # 结果

7 print list_

lambda 表达式说明:lambda m,n:cmp(m[1],n[1]) 表示元素对象的第1个位置也就是 2,1,3,4 之间进行比较后返回升序的新迭代对象。

2、sorted() 函数参数的妙用

特点:sorted(iterable,cmp,key,reverse)函数可以对可迭代的序列进行排序,并且返回一个新的对象、不对原有的列表对象进行修改。

默认不使用可选参数进行排序

1if name == ‘main’:

2 # 定义列表

3 list_ = [‘d’,‘f’,‘a’,‘c’,‘b’,‘e’]

4 # 执行排序

5 list_2 = sorted(list_)

6 # 结果

7 print list_2

使用可选参数 key 进行排序,指定可迭代对象中的一个元素来进行排序

1if name == ‘main’:

2 # 定义列表

3 list_ = [(‘e’,2),(‘a’,1),(‘c’,3),(‘d’,4)]

4 # 执行排序

5 list_2 = sorted(list_,key=lambda n:n[1])

6 # 结果

7 print list_2

lambda 表达式说明:lambda n:n[1],n 代表每个元素,比如:(‘e’,2) 就是其中一个元素,n[1] 代表每个元素上的第一个位置,在 (‘e’,2) 中第一个位置正好是 2。由此可见,此迭代对象中是以 2,1,3,4 的升序为标准进行排序的。

使用可选参数 cmp 进行排序,cmp 函数主要是用于比较,通过比较大小的方式来进行排序

1if name == ‘main’:

2 # 定义列表

3 list_ = [(‘e’,2),(‘a’,1),(‘c’,3),(‘d’,4)]

4 # 执行排序

5 list_2 = sorted(list_,cmp=lambda m,n:cmp(m[0],n[0]))

6 # 结果

7 print list_2

lambda 表达式说明:lambda m,n:cmp(m[0],n[0]) 表示元素对象的第0个位置也就是 e,a,c,d 之间进行比较后返回升序的新迭代对象。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值