
1.5.1 列表
列表是一个与任意类型对象位置相关的有序集合,它没有固定的大小。和字符串类型一样,列表类型也是序列式的数据类型,可以通过下标或者切片操作来访问某一个或者某一系列连续的元素。但是,列表是可变的,这是它区别于字符串和元组的最重要的特点,用一句话来概括:列表可以修改,而字符串和元组不能。
在形式上,列表的所有元素放在一对方括号中,相邻元素之间使用逗号分隔。在Python中,同一列表内元素的数据类型各不相同,可以同时包含整数、实数、字符串等基本类型的元素,也可以包含列表、元组、字典、集合、函数以及其他任意对象。如果只有一对方括号而没有任何元素,则表示空列表。与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
如下示例给出了合法的列表对象。
【例1-23】列表对象示例
[1,3,5,7,9] [123, 'abc',3.6,['a','b']] [{3.6},(1,2,3)]
下面讲解列表的操作。
1.列表的创建与删除
1)使用赋值操作符“=”直接将一个列表常量赋值给变量即可创建列表对象,可将多种Python支持的数据放到同一个列表中,示例如下。
【例1-24】创建列表示例
list1 = ['Google', 'Runoob', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"]
2)使用del命令删除列表,示例如下。
【例1-25】删除list1列表
>>> list1=[1,2,3,4,5] # 创建列表list1 >>> del list1 # 删除列表list1 >>> list1 NameError: name 'list1' is not defined # 列表删除后无法访问,抛出异常
2.访问列表中的元素
使用下标索引来访问列表中的值,也可以使用方括号的形式来截取字符,示例如下。
【例1-26】访问list1和list2列表
>>> list1 = ['Google', 'Runoob', 1997, 2000]; >>> list2 = [1, 2, 3, 4, 5, 6, 7 ]; >>> print ("list1[0]: ", list1[0]) list1[0]: Google # 输出list1[0]的值 >>> print ("list2[1:5]: ", list2[1:5]) list2[1:5]: [2, 3, 4, 5] # 输出list2[1:5]的值
3.更新列表元素
更新列表包含添加、修改和删除列表元素。
(1)添加元素
可用“+”运算符、append()等方法向列表中添加元素。
通过“+”运算符连接列表创建一个新列表。列表可包含任何数量的元素,没有大小限制(除了可用内存的限制)。列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。关于“+”运算符的用法示例如下所示。
【例1-27】利用“+”运算符向list列表中添加元素
>>> list=[1] >>> list=list+['a',1.0] >>> list [1, 'a', 1.0]
append()方法可在列表的尾部添加一个新的元素,示例如下。
【例1-28】利用append()方法向list列表中添加元素
>>> list.append('python') >>> list [1, 'a', 1.0, 'python']
(2)修改元素
修改列表很容易,只需要使用普通赋值语句,使用索引表示法给特定位置的元素赋值,示例如下。
【例1-29】修改list列表中的第二个元素
>>> list[1]=2 >>> list [1, 2, 'a', 1.0, 'python', 'b']
(3)删除元素
用del语句删除列表中的元素,示例如下。
【例1-30】使用del删除列表元素
list[1,2,'a',1.0] print("原始列表:",list) del list[1] print("删除第二个元素:",list)
4.列表脚本操作符
列表对“+”和“*”的操作符与字符串相似,“+”用于组合列表,“*”用于重复列表,如表1-4所示。
表1-4 脚本操作符
5.列表的截取与拼接
Python的列表截取与字符串操作类型如下述代码及表1-5所示。
list=['I','Love','Python']
表1-5 截取与拼接举例
列表还支持拼接操作,示例如下。
【例1-31】拼接操作示例
>>> squares = [1, 4, 9, 16, 25] >>> squares += [36, 49, 64, 81, 100] >>> squares [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>>
6.列表常用方法
列表对象常用的方法如表1-6所示。append()方法在上文中已举例说明。
表1-6 列表常用方法表