Python机器学习
上QQ阅读APP看书,第一时间看更新

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值。使用方式为:

例如:

运行结果如下: