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

浏览: 3860

前言

进阶部分连载继续~

如果还没看过我的入门连载部分,先看:

https://ask.hellobi.com/blog/wangdawei/10288


当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一遍~

视频传送门:https://edu.hellobi.com/course/234

图片.png

前文传送门:

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

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


可变长元组参数


还记得在入门部分讲的函数的可变长参数么,*开头的收集到的的是元组参数,既然有收集,那就可能会有分散

今天我们要讲的就是收集的反面——分散


我们先看个演示:


图片.png


divmod函数是一个求商和余数的函数,这里传入9和2,返回了4和1

即商为4,余数为1


如果我们想一步到位

使用原有的数组呢?

发现系统抛出异常


仔细看看异常内容

需要两个参数,但你只给了一个!


所以我们尝试分散,也就是今天要学的新内容


图片.png


我们在传入的元组前加个*号,即可将元组拆开,有点像之前说过的元组拆包~


此时结果返回正常了


序列合体


还记得小学时候看的数码宝贝么?除了前期的进化可以提升数码宝贝的力量

后期更有合体的玩法!


图片.png


小明:阴阳相合,我懂的!。。。


咳咳,我们今天要讲的是将序列(字符串,列表,元组)相互合并的操作


如果给你一个列表,一个元组,如下图,把他们一对对分别按顺序合并

你会怎么做?


图片.png


小红:老师,我最喜欢的列表生成式子应该可以:


图片.png


使用之后发现并不可以,但是改一下就ok:


图片.png


小红啊,你这是投机取巧看出了数据的特征


小明有想法么?


小明:我觉得可以使用循环试试:


图片.png


小明这次做的不错,有没有更方便的方法呢?


(众人沉默)


好的,那我们看看今天要讲的函数zip()

zip()函数接收两个或者多个序列,返回一个元组列表

每个元组包含来自每个序列中的一个元素


zip()函数名取自拉链zipper~


图片.png


就像把两边结合在一起这种


好了,我们看看拉链的具体使用:


图片.png


返回的结果是一个zip对象,你可以简单认为是一个压缩包


当我们要获取查看它的元素,可以使用循环遍历,如果我们想将结果放在一个list中呢?可以这样:


图片.png


当然我们还可以将字符串和列表合并:


图片.png


甚至多个序列合并:


图片.png


zip()函数的出现为我们创建字典提供了新方法:


图片.png


文件名和路径


还记得我们在入门阶段讲的路径么,有个细节要补充一下,让我们更加偷懒


返回当前目录:


图片.png


返回当前目录有以下好处:

1.方便构造文件操作路径

2.提醒我们当前在什么目录操作


我们还可以检查该目录下是否存在某个文件:


图片.png


今天作业是自己跟着操作一遍~

自己不敲代码永远学不会写代码

下课

人生苦短,我选Python

未完待续,连载中......

欢迎评论指出文中错误和提问~~~


下一篇链接:Python进阶系列连载(4)——迭代器

推荐 4
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

3 个评论

老师,为啥我总是记不住列表 元祖 字典的一些创建 增加元素 删除元素的方法,用的时候还要查一下各种容器有哪些操作
你多敲一些代码就自然而然记住了
+1,和一楼的同学一样,记不住

要回复文章请先登录注册