在Python中,list类是一种数据类型,叫做“列表”。可以通过列表对象调用list类的方法对改对象进行操作。
1 向列表中添加元素
可以通过append()、extend()和insert()等方法向列表中添加元素。
1.1 append()方法
1.1.1 append()方法的语法
append()方法的语法如下所示:
list.append(object, /)
其中,object表示向列表中添加的元素,“/”表示object是位置参数而不是关键字参数。对于位置参数和关键字参数的相关知识,请参考《Python中函数的关键字参数》
1.1.2 添加单个数据
使用append()方法向列表中添加单个数据的代码如下所示。
>>> list1 = [1,2,3]
>>> list1.append(4)
>>> print(list1)
[1, 2, 3, 4]
在以上代码中,使用append()方法向列表对象list1中添加元素4,可以看到元素“4”被添加到了list1的末尾位置。
1.1.3 添加列表
除了向列表中添加单个数据外,还可以使用append()方法向列表中添加列表,代码如下所示。
>>> list1.append([5,6])
>>> print(list1)
[1, 2, 3, 4, [5, 6]]
通过以上代码,将列表[5,6]被添加到list1中。需要注意的是,列表[5,6]被看作是list1的“一个元素”,通过list1[4]来访问,如下代码所示。
>>> type(list1[0])
<class 'int'>
>>> type(list1[4])
<class 'list'>
其中,list1列表中的第一个元素类型是int,而第四个元素的类型是list。
同理,通过append()方法还可以向列表中添加元组、集合和字典等数据。
1.2 extend()方法
1.2.1 extend()方法的语法
extend()方法的语法如下所示:
list.append(iterable, /)
该方法的作用是将参数iterable中的所有元素用来“扩展”指定的列表。
相关链接1 Python中的iterable,iterable意思为迭代,可以理解为连续的一组数据,可以遍历的数据。iterable被认为是一类对象,这类对象能够一次返回它的一个成员(也就是元素)。数组、字符串、列表、元组和集合都是iterable的。
1.2.2 添加iterable
通过extend()方法扩展列表的代码如下所示:
>>> list1 = [1,2,3]
>>> list1.extend([4,5])
>>> print(list1)
[1, 2, 3, 4, 5]
其中,将列表[4,5]用来扩展list1,此时list1中的元素变为5个,每个元素的类型都是int。
1.2.3 append()方法与extend()方法的区别
append()方法与extend()方法都可以用于向指定列表中添加元素。区别如下:
(1)extend()方法不能添加单一数据,而append()可以
代码如下所示:
>>> list1.extend(6)
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
list1.extend(6)
TypeError: 'int' object is not iterable
>>> list1.append(6)
(2)extend()方法将添加的iteral中的数据分解成单一数据,而append()不分解
如果将“1.1 append()方法”中提到的append()方法的参数设置为list,此时会将该参数看作指定列表的“一个元素”。而使用extend()方法会iteral中的数据分解成单一数据后再添加到指定的列表中。
1.3 insert()方法
1.3.1 insert()方法的语法
insert()方法的语法如下所示:
list1.insert(index, object,/)
其中,index表示添加的位置,object表示添加的对象,/表示“/”表示index和object是位置参数而不是关键字参数。Insert()方法的作用是将指定的object添加到index指定的位置处。
1.3.2 添加数据
使用如下代码,将指定的数据添加到list的指定位置处。
>>> print(list1)
[1, 2, 3, 4, 5, 6]
>>> list1.insert(2,'a')
>>> print(list1)
[1, 2, 'a', 3, 4, 5, 6]
其中,insert()方法表示将字符串’a’添加到list1的索引为2的位置处。
需要注意的是,使用insert()方法为list添加数据,其添加的数据与append()方法的数据相同,即可以是单一数据,也可以是列表、元组、集合等数据。但是,当添加列表、元组、集合等数据时,insert()方法将其看作是“一个元素”,代码如下所示。
>>> list1.insert(0,[0,0,0])
>>> print(list1)
[[0, 0, 0], 1, 2, 'a', 3, 4, 5, 6]