Python基础视频教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1 list

list(列表)多用于存储一组数据,其中的各个数据也被称作list中的一个元素,各元素按照顺序存储。

list可以被看作一列“火车”。该“火车”是由很多节“车厢”组成的。每节“车厢”都是list的一个元素,所有的“车厢”合起来就组成了一列“火车”。举个例子,在Python命令行模式下运行以下代码:

3.1.1 list的定义

list的定义采用一对方括号,里面填充着你想存储的数据。当然,也可以什么都不存,即只用一对方括号。这样就声明了一个空的list,代码如下:

3.1.2 list查询数据

list可以查询一组数据中的某个具体元素。在Python命令行模式下运行以下代码:

这种方括号的方式是直接取第x个元素。这种取元素的方式在编程中通常被称为取下标,在计算机的世界中这是从0开始的。game_list一共有3个元素,如果访问game_list[3]就会报错。这是因为game_list没有第4个元素,强行访问第4个元素就超出了game_list的边界。这种错误在编程中被称为“越界”。在使用容器时,注意不要“越界”。

访问第x个元素时,x可以是负数,表示倒数第x个元素。例如,-1就表示倒数第一个元素,即从前往后数的最后一个元素。game_list一共有3个元素,如果访问倒数第4个元素,则会报错。

3.1.3 list修改数据

在Python命令行模式下运行以下代码:

如果想修改某个元素,则直接通过3.1.2节中获取第x个元素的方法取出元素,然后直接赋值即可。在这个例子中,将之前值是“LOL”的元素重新赋值成了“WOW”。

3.1.4 list删除数据

在Python命令行模式下运行以下代码:

len函数可以获取list的长度(list中的元素个数),调用del关键字可以删除list中的元素。在这个例子中,第一次调用len(game_list)显示的元素个数为5个。在调用del game_list[1]后,元素“DOTA2”(从0开始计数)被删除。接着调用len(game_list),显示的元素个数为4个。

3.1.5 list插入数据

在Python命令行模式下运行以下代码:

如果想在list中插入元素,则可以使用insert方法把元素插入到指定位置,也可以直接用append方法把元素插入到list的“末尾”。

3.1.6 list拼接

在Python命令行模式下运行以下代码:

list是支持“+”和“*”运算的,“+”运算指将两个list中的元素拼接起来,“*”运算指将list中的元素复制指定的次数。

3.1.7 list切片

在Python命令行模式下运行以下代码:

方括号里的两个数用冒号(注意,是英文冒号)分开(如s[0:3]),这就是list的切片操作,切出某个区间内的子list,可以将其看作左闭右开的区间。例如s[0:3],表示[0, 3)区间,即s[0]、s[1]、s[2];s[2:5],表示[2, 5)区间,即s[2]、s[3]、s[4]。如果右区间超过了list本身的长度,则最多取到list的最后一个元素,所以s[0:7]和s[0:9]的结果是一样的。左边或者右边的值可以为“空”,如果左边的值为空的话,则表示从0开始;如果右边的值为空的话,则表示到末尾结束。例如s[:5]其实等于s[0:5],s[3:]则等价于s[3:7]。

3.1.8 list的常用方法

在Python命令行模式下运行以下代码:

用“in”判断某个元素是否在列表中。

在列表中,count方法的作用是,统计某个元素在列表中的个数。

max函数和min函数的作用是,快速找到列表中的最大值和最小值。

clear方法的作用是清空list。game_list调用clear方法之后,里面的元素就被清空了。

reverse方法用于翻转列表。