想要学好Python,你得牢牢掌握这个常用数据结构

该号刚出生不久,喜欢的朋友别忘了点个关注。

列表(list),可以说是Python里头最常用的数据序列结构了。今天我们来简单谈谈列表一些知识。

构建

用的比较多的列表构建方法一般有以下两种:

直接了当的用英文状态下的中括号[]进行赋值构建:

通过list函数进行构建:

通过list进行构建,其传入的参数需要是可遍历的数据类型,诸如字符串、range对象等。

基本操作

索引

序列里的元素都有从0开始递增的编号——索引,我们可以通过索引来访问元素,如下:

索引除了访问单个元素外,还可以使用切片访问多个特定范围内的元素,不过返回值不是单个元素,而是多个元素组成的新列表。

如上图所示,l1后面括号内的三个数字分别表示,0:需要访问的开始索引(包含),3:需要访问的结束索引(不包含),1:步长。因为默认步长为1,索引后面的1可以不写,如下:

而列表的索引是从0开始的,因此0也可以认为是开头索引的默认值,故也可以不写:

同样的,如果我们想从索引为1的元素开始,访问到最后一个元素,可以有如下简略的写法,而不用刻意去计算一下列表到底有多少个元素:

元素赋值

学会索引之后,就可以对列表的元素进行赋值更改了:

删除

删除元素也比较简单:

方法

列表的方法很多,常用的有如下:

append

append可以将一个对象添加到列表末尾:

extend

如果想要在列表末尾添加多个元素,则需要用到extend:

需要指出的是,extend接受的是一个列表,因此extend也可以看做用一个列表也扩展另一个列表。

pop

pop这个方法不太好用中文来翻译,个人理解有点类似冒泡。这个方法会将列表的最后一个元素取出作为返回值,同时将原列表的最后一个元素删除,如下:

当然,你也可以pop出指定索引对应的元素:

insert

若想在指定的地方插入新的对象,可以使用insert方法:

如上,第一个参数指定想要插入新元素的索引编号,第二个参数则为插入的新元素。

reverse

顾名思义,reverse会按相反的顺序排列原列表:

值得注意的是,reverse会直接修改原列表,不返回任何值(或者说返回值为None):

如上,在交互式的jupyter notebook中,因为l2无任何返回值,故在下面无任何信息显示。我们可以通过type方法来检验一下:

除此之外,列表还有各种各样的方法,如sort、remove等等。

总之,列表是Python里头最重要的数据结构之一,想要学好Python的朋友需要多花时间好好掌握。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181114A0BDHD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券