解锁即可观看《Python全能工程师2022》完整课程视频

Python全能工程师2022

2022版全新上线!覆盖Python五大热门就业方向,零基础进击多领域高薪岗位。全能培养,告别选择困扰

【第1周】环境搭建与基础语法
【第2周】三大主流数据类型的操作
【第3周】Python流程控制与函数
【第4周】Python面向对象与异常处理机制
【第5周】Python模块与文件操作
【第6周】多线程编程、正则表达式与综合项目实战
【第7周】Python办公自动化
【第8周】MySQL数据库
【第9周】Python与MySQL的交互
【第10周】Redis数据库
【第11周】MongoDB数据库
【第12周】开发必备前端基础之HTML与CSS
【第13周】开发必备前端基础之JavaScript与jQuery
【第14周】初探网络爬虫
【第15周】网络爬虫进阶与实战
【第16周】高级爬虫框架
【第17~18周】高级爬虫项目实战与爬虫面试指导
【第19周】数据分析入门
【第20周】数据分析进阶:数据可视化
【第21周】数据分析进阶:统计分析与机器学习
【第22周】数据分析项目综合实战与就业指导
【第23周】企业级开发语言ES6与前端开发框架Bootstrap
【第24周】夯实框架基础:Python全栈开发必学后端主流框架Flask
【第25周】项目实战:Flask实战开发在线问答系统
【第26周】入门Python Web全栈开发必备主流框架Django
【第27周】Django ORM模型和表单
【第28周】前端框架基础:前端开发必学Vue框架
【第29周】项目实战:Django+Vue全栈开发旅游网项目首页
【第30周】项目实战:Django+Vue全栈开发旅游网项目景点详情模块
【第31周】项目实战:Django+Vue全栈开发旅游网项目登录注册模块
【第32周】项目实战:Django+Vue全栈开发旅游网项目订单支付模块
【第33周】项目实战:全栈开发旅游项目后台管理系统与项目部署
【第34~35周】Python技能拓展之软件自动化测试
【第36周】Python技能拓展之人工智能
章节
问答
课签
笔记
评论
占位
占位

Python自定义排序函数

Python内置的 sorted()函数可对list进行排序:

>>> sorted([36, 5, 12, 9, 21])
[5, 9, 12, 21, 36]

可以看到,sorted()函数,默认是由小到大排序列表的元素。

>>> score = [('Alice', 72), ('Candy', 90), ('Bob', 62)]
>>> sorted(score)
[('Alice', 72), ('Bob', 62), ('Candy', 90)]

当list的每一个元素又是一个容器时,则会以第一个元素来排序,比如在score中,每个元素都是包含名字和成绩的一个tuple,sorted()函数则按名字首字母进行了排序并返回。
对于上述排序成绩的情况,默认是按照第一个名字进行排序的,有没有办法让sorted()函数按照成绩来进行排序呢?
如果需要按照成绩高低进行排序,需要指定排序的字段是成绩,sorted接受key参数,用来指定排序的字段,key的值是一个函数,接受待排序列表的元素作为参数,并返回对应需要排序的字段。因此,sorted()函数也是高阶函数。

def k(item):
    return item[1] # ==> 按成绩排序,成绩是第二个字段

sorted(score, key=k)

得到结果:[('Bob', 62), ('Alice', 72), ('Candy', 90)] 。
如果需要倒序,指定reverse参数即可。

sorted(score, key=k, reverse=True)

得到结果:[('Candy', 90), ('Alice', 72), ('Bob', 62)] 。

任务

对字符串排序时,有时候忽略大小写排序更符合习惯。请利用sorted()高阶函数,实现忽略大小写排序的算法。
输入:['bob', 'about', 'Zoo', 'Credit']
输出:['about', 'bob', 'Credit', 'Zoo']

?不会了怎么办

参考答案:

def k(item):
    return item.lower()

sorted(['bob', 'about', 'Zoo', 'Credit'], key=k)
||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?