查看原文
其他

Python基础编程—操作列表篇(二)

JackTian 杰哥的IT之旅 2019-05-08

想法丨发现丨习惯丨人文

让阅读成为习惯,让灵魂拥有温度!





使用列表的一部分


01

切片

通过本篇文章,你一直在学习如何处理列表的所有元素,你还可以处理列表的部分元素——Python称为切片。


要创建切片,你指定要使用的第一个元素的索引和最后一个元素的索引和最后一个元素的索引加1.与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这样输出分别为0、1、2的元素。

players.py

(如下图)2处的代码带引该列表的一个切片,其中只包含三名队员,输出也是一个列表。

你也可以生成列表的任何子集,如果你要提取列表的第2~4个元素,可将其实索引指定为1,并将终止索引指定为4.这一次,切片始于“martina”,终于“florence”:

如果你没有指定第一个索引,Python将自动从列表开头开始。

要让切片终止于列表末尾,也可使用类似的语法。例如:如果要提取从第3个元素到列表末尾的所有元素,可将起始索引指定为2:,并省略终止索引。Python将从第3个元素到列表末尾的所有元素;

无论列表多长,这种语法能够让你输出从特定位置到列表末尾的所有元素。如果你要输出名单上的最后三名队员,可使用切片players[-3:]

02

遍历切片

如果要遍历列表的部分元素,可在for循环中使用切片。我们遍历所有队员,并打印出他们的名字:

03

复制列表


要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。例如:有一个列表,其中包含你最喜欢吃的食品,而你还想创建另一个列表,在其中包含一位朋友喜欢的所有食品。


首先创建一个名为my_foods的食品列表,然后创建一个名为friend_foods的新列表。我们在不指定任何索引的情况下从列表my_foods中提取一个切片,从而创建了列表,再将这个friend_foods中。输出的结果,相同。

元组

01

定义元组


列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,元组可以满足需求。Python将不能修改的值称为不可变的,而不可变的列表称为元组。元组看似列表,但使用圆括号而不是方括号来标识。


如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保是不能修改的:


首先定义一个元组dimensions,为此我们使用了圆括号。我们分别打印该元组的各个元素,使用的语法与访问列表元素时使用的语法相同:

02

遍历元组中的所有值

想列表一样,也可以使用for循环来遍历元组中的所有值:

03

修改元组变量

虽然不能修改元组的元素,但可以给存储元组的变量赋值。修改前述矩形的尺寸,可重新定义整个元组:


首先定义一个元组,并将其存储的尺寸打印了出来,然后,将一个新元组存储到变量dimensions中,打印新的尺寸。这次,Python就不会报错,因为给元组变量赋值是合法的:

设置代码格式

01

格式设置指南

若要提出Python语言修改建议,需要编写Python改进提案,PEP8是最古老的PEP之一,它向Python程序员提供了代码格式设置指南。PEP8的篇幅很长,但大都与复杂的编码结构相关。


Python格式设置指南的编写者深知,代码被阅读的次数比编写的次数多。代码编写出来后,调试时你需要阅读它;给程序添加新功能时,需要花很长的时间阅读代码;与其他程序员分享代码时,这些程序员也将阅读它们。

02

缩进

PEP8建议每级缩进都使用四个空格,提高可读性,留下足够的多级缩进空间。


在字处理文档中,常常使用制表符而不是空格来缩进。但混合使用制表符和空格会让Python解释器感到迷惑。你在编写代码时应该使用制表符键,但一定要对编辑器进行设置,使其在文档中插入空格而不是制表符。


如果你混合使用了制表符和空格,可将文件中所有的制表符转换为空格。

03

行长

Python程序员建议每行不超过80字符。


在大多数计算机中,终端窗口每行只能容纳79字符;为何使用79字符的标准行长呢?专业程序员通常会在同一个屏幕上打开多个文件,使用标准行长可以让他们在屏幕上并排打开两三个文件时能同时看到各个文件的完整行。


PEP8建议注释的行长不超过72字符,因为有些工具为大型项目自动生成文档时,会在每行注释开头添加格式化字符。

04

空行

要将程序的不同部分分开,可使用空行。


空行不会影响代码的运行,但会影响代码的可读性。




文章已于修改

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

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