Pythonlist 列表增加元素可调用列表的append() 方法,该方法会把传入的参数追加到列表的最后面。
append() 方法既可接收单个值,也可接收元组、列表等,但该方法只是把元组、列表当成单个元素,这样就会形成在列表中嵌套列表、
嵌套元组的情形。例如如下代码:
a_list=['crazyit',20,-2] #追加元素 a_list.append('fkit') print(a_list)#['crazyit',20,-2,'fkit'] a_tuple=(3.4,5.6) #追加元组,元组被当成一个元素 a_list.append(a_tuple) print(a_list)#['crazyit',20,-2,'fkit',(3.4,5.6)] #追加列表,列表被当成一个元素 a_list.append(['a','b']) print(a_list)#['crazyit',20,-2,'fkit',(3.4,5.6),['a','b']]
在上面代码中,执行完第 10 行代码之后,程序向列表中追加了一个元组,此时被迫加的元组只是列表中的一个元素(嵌套元组),接下来输出该列表时将看到如下结果:
['crazyit',20,-2,'fkit',(3.4,5.6),['a','b']]
从上面代码可以看出,为列表追加另一个列表时,Python 会将被迫加的列表当成一个整体的元素,而不是追加目标列表中的元素。
如果希望不将被追加的列表当成一个整体,而只是追加列表中的元素,则可使用列表的extend() 方法。例如如下代码:
b_list=['a',30] #追加元组中的所有元素 b_list.extend((-2,3.1)) print(b_list)#['a',30,-2,3.1] #追加列表中的所有元素 b_list.extend(['C','R','A']) print(b_list)#['a',30,-2,3.1,'C','R','A'] #追加区间中的所有元素 b_list.extend(range(97,100)) print(b_list)#['a',30,-2,3.1,'C','R','A',97,98,99]
此外,如果希望在列表中间增加元素,则可使用列表的insert() 方法,使用 insert() 方法时要指定将元素插入列表的哪个位置。例如如下代码:
c_list=list(range(1,6)) print(c_list)#[1,2,3,4,5] #在索引3处插入字符串 c_list.insert(3,'CRAZY') print(c_list)#[1,2,3,'CRAZY',4,5] #在索引3处插入元组,元组被当成一个元素 c_list.insert(3,tuple('crazy')) print(c_list)#[1,2,3,('c','r','a','z','y'),'CRAZY',4,5]
删除列表元素使用del语句。del语句是Python的一种语句,专门用于执行删除操作,不仅可用于删除列表的元素,也可用于删除变量
等。
使用 del 语句既可删除列表中的单个元素,也可直接删除列表的中间一段。例如如下代码:
a_list=['crazyit',20,-2.4,(3,4),'fkit'] #删除第3个元素 dela_list[2] print(a_list)#['crazyit',20,(3,4),'fkit'] #删除第2个到第4个(不包含)元素 dela_list[1:3] print(a_list)#['crazyit','fkit'] b_list=list(range(1,10)) #删除第3个到倒数第2个(不包含)元素,间隔为2 delb_list[2:-2:2] print(b_list)#[1,2,4,6,8,9] #删除第3个到第5个(不包含)元素 delb_list[2:4] print(b_list)#[1,2,8,9]
上面程序中,第 3 行代码简单地删除了列表中的一个元素;第 6 行代码执行删除时,使用了列表的 slice 语法,因此该删除操作将会删除列表的中间一段;第 10 行代码执行删除时,同样使用了列表的 slice 语法,并指定了间隔,因此将会看到以间隔为 2 的方式删除列表的中间一段。
使用 del 语句不仅可以删除列表元素,也可以删除普通变量,例如如下代码:
name='crazyit' print(name)#crazyit #删除name变量 delname #print(name)#NameError
程序中第 4 行代码删除了 name 变量,因此接下来访问 name 变量时将会引发 NameError 错误。
除使用 del 语句之外,Python 还提供了remove() 方法来删除列表元素,该方法并不是根据索引来删除元素的,而是根据元素本身来执行删除操作的。该方法只删除第一个找到的元素,如果找不到该元素,该方法将会引发 ValueError 错误。
如下代码示范了使用 remove() 方法删除元素:
c_list=[20,'crazyit',30,-4,'crazyit',3.4] #删除第一次找到的30 c_list.remove(30) print(c_list)#[20,'crazyit',-4,'crazyit',3.4] #删除第一次找到的'crazyit' c_list.remove('crazyit') print(c_list)#[20,-4,'crazyit',3.4]
c_list.clear() print(c_list)#[]原文来自:https://www.py.cn
暂无评论内容