2.8 列表和元组
前面我们学过的整型、浮点型、字符串类型和布尔类型,都属于Python 中的基本数据类型,本节开始将学习Python 的复杂数据类型。下面就从列表开始吧,然后学习元组。
列表是Python 中一种非常重要和常见的复杂数据类型,它的用途非常广泛,它就是可以保存一系列不同种类的值的一种数据结构。打个比方,它像一列火车,可以有多节车厢,每节车厢里可以装载人或物,当然不能混装,即不能把人和货物放在同一节车厢里。也就是说,同一节车厢里,要么装载人,要么装载物,当然也可以把整列火车装人或装物,而实际中的客车和火车肯定是分开的;它也像孙悟空手中的金箍棒一样,根据需要可以随时变长或变短,在Python 编程中,我们一般通过其名字来操作它,其结构如图2-3 所示。
图2-3
假如图2-3 中的这个列表名叫A,观察一下,它一共由5 个元素组成,第一个元素的位置是A[0],注意这种写法叫列表的下标表示法,列表的下标永远从0 开始计数,也就是说:
· 列表A 中第1 个元素的位置是:A[0],其值是整数10。
· 它的第2 个元素的位置是:A[1],其值是整数20。
· 它的第3 个元素的位置是:A[2],其值是整数30。
· 它的第4 个元素的位置是:A[3],其值是整数40。
· 它的第5 个元素的位置是:A[4],其值是整数50。
说明:上面列表的名字叫A,即我们用一个变量A 来代表这个列表,它的长度是5,即它一共有5 个元素,列表的长度就是列表中元素的个数;它里面保存的都是整数,即它没有混装不同的数据类型,要特别注意其下标的开始位置是从0 开始的,结束位置是它的长度5-1=4,即最后一个元素的下标是A[4],如果用Python 编写程序,代码和注释如下:
运行结果如下:
如果要创建一个混装不同类型的列表,也很简单,把赋值语句修改一下即可,这次创建一个长度为6 的列表B,代码和注释如下:
运行结果如下:
说明:
· 列表B 的第1 个元素值是3.14,数据类型是浮点型。
· 列表B 的第2 个元素值是500,数据类型是整型。
· 列表B 的第3 个元素值是“中国功夫”,数据类型是字符串。
· 列表B 的第4 个元素值是True,数据类型是布尔整型。
· 列表B 的第5 个元素值是[1,2,3],数据类型也是一个列表。
· 列表B 的第6 个元素值是[ ],数据类型是一个空列表。
如果使用前面学过的type(A)和type(B),显示出来的都是<class ‘list’>,表示它是一个列表类型(英文是:list)。
前面说了,列表既然像金箍棒那样可以变长或变短,那具体怎么操作呢?在Python 中可以使用列表自带的功能(或者叫函数,后面章节会介绍)来完成,列表后有很多自带的功能,其代码和详细注释如下:
结果如下:
列表操作的功能比较多,这里归纳一下,如表2-6 所示。
表2-6
续表
后面会在综合练习和习题中使用表2-6 中的列表功能。
下面介绍元组,元组的英文是tuple,它就像是列表的近亲,也可用来表示一个序列的元素,它和列表有很多相似的地方,它们之间唯一的区别是一旦它被创建,就不能改变它的长度。也就是说,一旦创建了元组,它的长度既不能增加,也不能缩短。因此,表2-6 中不是所有适合列表的功能都适合元组,大家在使用时要留意。
表2-7 中的这些方法只适合于列表,不适合于元组。
表2-7
示例2-8 编程创建几个元组,并体验适合表2-6 中元组的一些主要功能。
运行结果如下: