Python进阶系列连载(2)——那些容易被忽略的问题(中)
作者:王大伟
Python爱好者社区唯一小编
博客:https://ask.hellobi.com/blog/wangdawei
前文传送门:
Python进阶系列连载(1)——那些容易被忽略的问题(上)
如果还没看过我的入门连载部分,先看:
Python从零开始系列连载(25)——Python的random模块简单使用(入门知(姿)识(势)学习的最后一篇(片))
当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一遍~
视频传送门:点击文末阅读原文
字符串快速转换为列表
在入门阶段我们讲了不同数据类型的转换关系,比如列表和元组。
这里讲讲字符串转为列表!
小明:老湿!字符串和列表好像不像会发生关系的啊!
小明,那我问问你,如果把一个字符串 'Python' 的每个字符作为列表元素,怎么操作?
小明:emmm,小红,还是你来回答吧,毕竟我们也是有关系的。
小红:。。。
小红:老师,我觉得可以这样:
小红的列表生成式学的很不错啊!给你点赞~
我们今天新学一种方法:
这样是不是很简单,就像给元组穿上list外衣一样,给字符串披上list的外衣,就变成了list
小明:老湿!这个看起来也就一般般啊!如果我想把‘I love Python’变成列表,元素分别是I love Python这三个,怎么做呢??【坏笑】
这个嘛...应该是...
小明:老湿,你不会了吧!!!
其实我是在逗你的,我们新学一个字符串分割的方法,分割,有点像列表的切片,只不过之前我们一般是定好位【找到索引】,一刀切下去。
小明:那现在呢?
现在嘛,按照特点切。
小明:什么是按照特点切?
听过庖丁解牛的故事么?
小红:老师,是因为他是从牛身上的骨节脆弱部分切开!
是啊,所以我们可以认为骨节是一种特征,我们找到字符串的特征就能完成任务!
小明:我明白了,我要求的分割字符串就是按照空格分开的!
是的没错,我们现在根据空格将字符串转为列表,小明,给我把我用了19年的那把宰牛刀拿来!
小明:emmm
使用方法:字符串.split('分隔符')
默认是空格,所以这里写了两种!
小明:那如果是2017-12-06呢?
小红:这很简单啊,这样即可:
小红举一反三能力不错~
像之前的空格和这里的‘-’都叫做分隔符。
字典中按照键的顺序输出
还记得入门部分降到字典时候么?字典有三大特性其中有一个就是无序性!
小明:老湿,所以呢?
emmm,小明,你听我说完!所以我给你出个题:
你看,现在我想按照key的字母顺序看看打印出来的结果,但是先打印的是b,这怎么办!
小明:老湿,你要求真高!不过我真的不会。。
好吧,可以这样的:
我们给字典套上个sorted的外衣就行啦!
小明:老湿,我就这个表情:
小明,我们要讲的重点是,还记得字典里的key是唯一的么?
小明:记得啊,我还记得根据key可以查找value呢!
那你很棒棒哦,如果让你通过value找key,怎么做呢?
小明:自己挖的坑....
嗯,这个确实比较难,我们来看看
还是用刚才的dict1:
我们定义一个叫reverse_lookup的函数,传入两个参数
第一个是要查询的字典,第二个是要查的值
然后循环字典,将键对应的值分别和要查找的值比较,当出现异样的就返回!
小明:看起来不错啊
是啊,看起来不错,但是当我们要找的值不在字典里呢?
什么都没返回的样子!按照我们的思路,找不到东西也应该告诉我啊
还记得我大学时去面试实习生,面试了3家公司,最后都没给我结果,也不通知我面试没过,这样确实不太好,直白点多好!
所以我们这里学个新的系统关键字:raise
它可以抛出异常!
小明:老湿,我们不喜欢异常,你还要生成异常???
我们看一下具体操作!
仔细看看函数重新定义的吧
小明:不就是加了raise那句么?
注意缩进!当找到值对应的key,直接运行return,然后将返回的值传回函数调用处,函数就调用结束了
当我们没找到时候,最后会抛出我们设定的LookupError
小明:老湿,那其实可以这样啊!
emmm,是的,这样也可以,不过我这里要强调的是raise的用法!
小明:好吧。。。
今天作业是自己跟着操作一遍~
自己不敲代码永远学不会写代码
下课
人生苦短,我选Python
未完待续,连载中......
欢迎评论指出文中错误和提问~~~
Python爱好者社区历史文章大合集:
Python爱好者社区历史文章列表(每周append更新一次)
关注后在公众号内回复“课程”即可获取:
0.小编的Python入门视频课程!!!
1.崔老师爬虫实战案例免费学习视频。
2.丘老师数据科学入门指导免费学习视频。
3.陈老师数据分析报告制作免费学习视频。
4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。
5.丘老师Python网络爬虫实战免费学习视频。