该号刚出生不久,喜欢的朋友别忘了点个关注。
列表(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的朋友需要多花时间好好掌握。
领取专属 10元无门槛券
私享最新 技术干货