3.1 列表
列表(list)是Python中最基本的数据结构,也是最常用的Python数据类型。列表将由若干数据作为元素的序列放置在一对方括号[]中,各元素之间用逗号分隔,列表中的元素是有序的,如[1,2,3,4]、[1,'number',2,'name']、[[1,'中国'],[2,'美国']]等就是列表,其中前两个称为一维列表,第3个称为二维列表,还可定义多维列表。同一列表中各元素的类型可以各不相同,列表中的元素允许重复。此外,列表是可以修改的,修改方式包括向列表添加元素、从列表删除元素,以及对列表中的某个元素进行修改。本节主要介绍列表的基本操作、相关函数及列表的选取。
3.1.1 列表的基本操作
列表元素使用下标索引来访问,从左向右各元素索引从0开始依次增大,从右向左各元素从-1开始依次减小,也可以通过冒号(:)分隔的索引段来分片截取列表中连续的一段元素。列表的基本操作包括创建列表、增加/删除/修改列表元素,以及遍历列表等。
1.创建列表
用一对方括号将列表中包含的元素括起来就构成了一个列表对象,并可以使用“=”将该列表对象赋值给变量。
例如:
运行结果如下:
2.增加列表元素
在列表中增加元素可以使用以下4种方法。
1)使用“+”将一个新列表添加到原列表的尾部。
例如:
运行结果如下:
2)使用append()方法向列表的尾部添加一个新元素。
例如:
运行结果如下:
3)使用extend()方法将一个列表添加在原列表的尾部。
例如:
运行结果如下:
4)使用insert()方法将一个元素插入到列表中的任意位置。
例如:
运行结果如下:
3.删除列表元素
删除列表中指定一个或多个元素主要有以下3种方法。
1)使用del语句删除列表中某个特定位置的元素。
例如:
运行结果如下:
2)使用remove()方法删除某个特定的元素。
例如:
运行结果如下:
3)截取列表中连续的多个元素并将其赋为空列表。
例如:
运行结果如下:
4.修改列表元素
修改列表元素直接给元素赋值即可。
例如:
运行结果如下:
5.查找列表元素
使用index()方法可以根据指定值查找第一个匹配的列表元素的位置。
例如:
运行结果如下:
6.遍历列表
遍历列表是指按照某种方法,依次访问列表中的所有元素。一般可以采用循环方法遍历列表。
1)使用for循环遍历列表。
例如:
运行结果如下:
2)使用while循环遍历列表。
例如:
运行结果如下:
3.1.2 列表相关函数
Python提供与列表相关的内置函数,用于对列表对象进行操作,如求列表的长度、列表元素的最大值或最小值等。
1.len()函数
len()函数用于返回列表中所包含元素的个数。
例如:
运行结果如下:
2.max()函数
max()函数用于返回列表中元素的最大值。
例如:
运行结果如下:
如果列表中包含的是字符串,按照字符串比较大小的方法排序返回最大值。列表中只能包含可相互比较的元素。
例如:
运行结果如下:
3.min()函数
min()函数用于返回列表中所包含元素的最小值。同样,如果列表中包含的是字符串,也按字符串比较大小的方法排序返回最小值。
例如:
运行结果如下:
使用max()和min()等函数时,列表中只能包含可相互比较的元素,如果既有数字又有字符串则会出错。
例如:
运行出错提示如下:
4.list()函数
list()函数用于将元组转换为列表。
例如:
运行结果如下:
5.reversed()函数
reversed()函数的作用是反转列表中元素的顺序,用于将列表中的元素位置反向并返回可迭代的reversed对象。与list()函数联合使用得到逆向列表。
例如:
运行结果如下:
6.sorted()函数
sorted()函数用于对列表进行排序并返回新列表。默认为升序排列,若需降序排列,则需要设置reverse=True。
例如:
运行结果如下:
Python提供的常用列表方法和内置函数如表3-1所示。
表3-1 Python 3常用列表方法和内置函数
3.1.3 列表选取
在列表中,可以使用切片操作来选取指定位置上的元素组成新的列表。简单的切片方式为:
切片选取列表中索引值为[start,end)之间的元素,其中,起始值start索引位置上的元素包含在切片内,结束值end索引位置上的元素不包含在切片内。切片操作需要提供起始值start和结束值end作为切片的开始和结束索引边界,当切片的左索引start为0时可缺省,当右索引end为列表长度时也可缺省。
例如:
运行结果如下:
切片操作也可以提供一个非零整数作为索引值增长的步长step值。使用方式为:
例如:
运行结果如下: