查看原文
其他

Python进阶系列连载(2)——那些容易被忽略的问题(中)

2017-12-07 王大伟 Python爱好者社区

作者:王大伟

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更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

0.小编的Python入门视频课程!!!

1.崔老师爬虫实战案例免费学习视频。

2.丘老师数据科学入门指导免费学习视频。

3.陈老师数据分析报告制作免费学习视频。

4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

5.丘老师Python网络爬虫实战免费学习视频。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存