编程是一门要动手的学问,我在必要的地方用动态截图是可以保证阅读的完整性,但是那仅仅是我敲的代码。

上一期,出现了一个新的数据类型,形式是这样的[url1,url2,url3,url4.....]。他不属于我们说的五种基本数据类型,那么他是什么呢?答案是:list,列表。那至于列表是什么,我想都不用我给眼神就能自己体会了。

想想看我们自己列个新年计划、买买买清单、旅游计划啥的,就是创建了一个列表;可能写错了或者取消了,就得从列表中删除;有了新计划就得往列表里面添加;要执行某一项就得从中选取某一项;我们就从这些方面来说明列表怎么用。

首先,定义列表。形式如上所述,一个中括号将内容括起来,列表的内容用逗号隔开[item1,item2,item3,item4]。里面的Itme可以是不同的数据类型,如下:

我们的这个列表用到了四种基本数据类型,那么None呢?当然也可以。既然我们说了列表也是一种数据类型,那么列表能不能作为另一个列表的元素呢?

答案是:能!请看:

如果我要查看列表中的第几个要素,就可以列表后面加中括号,括号里面是序号。注意,在计算机领域,绝大多数情况下都是从0开始数的,所以要查看list1的第一个要素,就得是list1[0]。如果要查看倒数第一个要素,倒是list1[-1]。

最后一个展示了当我的索引值超过了范围时出现的错误。因为list1有4个要素,正向从0开始数,分别是0,1,2,3。4就超过范围了,所以会出错。

要添加一个要素怎么办,比如同学们想试试看我刚刚说的None也是可以加进去的说法对不对。用append()。或者有的人想把一个要素插入指定的位置,理所当然的,用insert()。

注意用insert时前面一个参数是序号,也就是0,1,2,3,4,想新插进去的元素以后的序号是多少,这个参数的值就应该是多少。

加完了就是删除了,删除用pop()。pop(-2),就是删除序号是-2也就是倒数第二个要素。pop(3)就是删除序号是3,正数第四个要素。如果不带参数,直接pop(),那就是删除最后一个要素。有一点要注意,pop()是有返回值的,还记得函数里面的返回值么,他的返回值就是删除的那个要素。

好了,重点来了,还记得我们上期获取到的数据么?一共28条,也就是我们获取到的列表里面有28个要素,难道我要每次从从0取到27,这么蠢的事情,从来不是程序员做的。做过的请默默地离开程序员的队伍,记得带好门。

如何轻松愉快的处理列表里面的每一个要素呢,那就轮到循环出场了。所谓循环嘛,就是一遍又一遍的去做一件事,只不过每次用的是列表里面的不同的要素。循环的格式是:

for itme in items:

#do something

用人话翻译过来,就是对于itmes里面的每一个item,都用来搞点事情。比如我们要从上期得到获取到的数据imglist中下载图片:

for imgurl in imglist:filename = imgurl.split("/")[-1]request.urlretrieve(imgurl, filename)

就是对于imglist里面的每一个imgurl,都用来下载url相应的图片。

还记得我们说过在python里面用冒号和缩进表示逻辑关系么,看上面for循环语句,下面的两句代码都是每次循环中要干的事情。第一语是给这次要下载的文件搞个名字,名字就从url里面来。比如对于url:'http://a2.att.hudong.com/74/55/19300534135873134543558063175.jpg',最后的xxxx.jpg用来当文件名最好,于是就从这一串url里面取出来,首先根据反斜杠“/”进行切分。想想进行切分之后是不是应该有好多个部分,那是什么数据类型呢?对,就是我们今天说的列表。然后从中取出倒数第一个,就是文件名了。列表好用吧。

第二句就是下载了,从url下载,保存成filename。还记得request是哪个模块的东西吧?

好了,现在我们可以下载了。试试看吧,你的py文件所在的文件夹是不是有图片了。

可能,有的人有了,有的人没有,还报错了,有的人有也报错了。为什么错呢,因为网络这东西,有时候就是很迷啊。从网上下东西,很难保证百分百成功的,就算我是迅雷年费砖石最高级VIP都不例外。下期就来说,遇到这种错误怎么处理。

另外,在python里面还有一个跟列表很像的东西,叫元组(tuple),他定义了之后里面的要素是不可变的,和列表用中括号不同,他是用圆括号表示。比如:

tuple1 =(1,2)
tuple2 = (3,)

定义了就定义了,没有pop(),append(),insert()这些来闹眼子。至于为什么定义tuple2时一个元素的时候要在后面加一个逗号,是因为避免和数学运算里面的括号混淆呀。

欢迎关注我的微信公众号获取最新文章:

教女朋友学Python(8)——排排坐吃果果相关推荐

  1. python编程入门 适合于零基础朋友-零基础能学好python吗?教女朋友学python是送命题吗?...

    python近年来的风靡程度就不用小编多说了,大家伙儿都知道,也都想来蹭蹭热度,但蹭着蹭着蹭出问题了:教女朋友学python是送命题吗?教女朋友学python是送命题吗? 近期,网友提出的" ...

  2. 教女朋友学Python

    女朋友学GIS数据处理的,说近两年就业压力大,光做数据处理不好找工作,要学一门编程语言,起码做数据的时候有机器思维,会简单的批处理.虽然我常跟她说,一个家里不需要两个程序员,不过,让她学学也挺不错,起 ...

  3. 如何教女朋友学 Python?

    什么是code? code就就是一种语言,一种计算机能读懂的语言.计算机是一个傻逼,他理解不了默认两可的任何东西.比如,你让你老公去买个西瓜,你老公会自己决定去哪里买,买几个,找个搞活动打折的买,总之 ...

  4. python的运行环境是如何搭建的_教女朋友学Python运行环境搭建

    下班比较早,吃了饭没什么事,就和女朋友一起研究了Python. 编程语言有很多,为什么选择它呢?因为它火吧,没什么好解释的,下面开始第一步,环境搭建.网上的教程实在太多,各种系统的各种版本,本地链接下 ...

  5. 教女朋友学Python——编程是什么

    开一个新坑,和<刘小玩美食教程>交替更新.我本身不会Python,一边学一边试图以最简单方式来解释编程和Python,让各位理工男可以拿去教自己的女朋友. Python是一门编程语言,据说 ...

  6. 教女朋友学Python(3)——把老公装进电脑里

    开一个新坑,和<刘小玩美食教程>交替更新.我本身不会Python,一边学一边试图以最简单方式来解释编程和Python,让各位理工男可以拿去教自己的女朋友. 现在的少女,甚至是少年们,都有老 ...

  7. 教女朋友学Python是道送命题

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 我们来画一下流程图 来自:知乎专栏,作者:灵剑 链接:https://zhuanlan.z ...

  8. 教你如何教女朋友学Python?

  9. 教女朋友学Python3-如何使用 Pycharm 进行调试

    2018/06/27 星期三 教女朋友学Python3-如何使用 Pycharm 进行调试 程序调试可以帮助我们自己快速的找到问题所在,程序写完之后,如果没有出现什么问题这几乎是「不存在」的. 通常当 ...

最新文章

  1. web应用的绝对路径和相对路径
  2. mysql mybatis 主键id_MyBatis+MySQL 返回插入的主键ID-Go语言中文社区
  3. python File 内置 open()方法(打开文件)
  4. 多线程编程4 - GCD
  5. 百度SEO站群PHP进销存源码ERP多仓库管理源码
  6. 学会这些 Python 美图技巧,就等着女朋友夸你吧
  7. android jar包冲突_用好这几个技巧,解决Maven Jar包冲突易如反掌
  8. 直接插入排序和冒泡排序有什么区别 直接插入排序和冒泡排序有哪些不同
  9. 教学设计的理念与方法【2】
  10. 江苏海洋大学c语言期末考试题库,海南热带海洋学院18级C语言期末考试PAT编程题...
  11. php新手自学手册,PHP编程新手自学手册
  12. transition属性
  13. 软件开发人员如何自我学习?
  14. iconfont多色图标的使用方法
  15. 一篇文章搞懂 HDFS 的配额管理
  16. 专栏推介:《Hi3861网络编程实验》
  17. 汽车名词解释-底盘与悬挂参数
  18. torch01:torch基础
  19. windows10 获取之前连接密码的方式
  20. Ubuntu18.04下安装NVIDIA显卡驱动、docker、nvidia-docker;容器中编译安装opencv-4.4.0与darknet-yolov4并完成测试;容器封装镜像转移。2022

热门文章

  1. 请用SQL查询:昨天所有用户的签到和签退时间
  2. 灰色预测之GM(1,1),教你快速上手数学建模!
  3. 基于SSM的音乐视频网站的设计与实现
  4. 火狐浏览器添加自动阻止加密挖矿选项
  5. [益智]:3个女儿的年龄
  6. VTK图形处理之剪裁
  7. 8.ansible高级进阶-role详解
  8. MetaCoMET----核心微生物组分析在线工具
  9. 影像传感器尺寸换算(英寸-毫米)
  10. Vue中gsap库实现数字递增动画