- Python王者归来
- 洪锦魁
- 807字
- 2020-08-28 21:54:52
6-4 增加与删除列表元素
6-4-1 在列表末端增加元素append( )
程序设计时常常会发生需要增加列表元素的情况,如果目前元素个数是3个,想要增加第4个元素,读者可能会想可否使用下列传统方式,直接设定新增的值:
name_list[3] = value
实例1:使用索引方式,为列表增加元素,但是发生索引值超过列表长度的错误。

读者可能会想可以增加一个新列表,将欲新增的元素放在新列表,然后再将原先列表与新列表相加,就达到增加列表元素的目的了。这个方法理论是可以,可是太麻烦了。Python为列表内置了新增元素的方法append( ),这个方法,可以在列表末端直接增加元素。
name_list.append(‘新增元素')
程序实例ch6_20.py:先建立一个空列表,然后分别使用append( )增加3个元素内容。

执行结果

6-4-2 插入列表元素insert( )
append( )方法是固定在列表末端插入元素,insert( )方法则是可以在任意位置插入元素,它的使用格式如下:
insert(索引, 元素内容)# 索引是插入位置,元素内容是插入内容
程序实例ch6_21.py:使用insert( )插入列表元素的应用。

执行结果

6-4-3 删除列表元素pop( )
6-1-8节笔者有介绍使用del删除列表元素,在该节笔者同时指出最大缺点是,资料删除了就无法取得相关信息。使用pop( )方法删除元素最大的优点是,删除后将弹出所删除的值,使用pop( )时若是未指明所删除元素的位置,一律删除列表末端的元素。pop( )的使用方式如下:
value = name_list.pop( )# 没有索引是删除列表末端元素 value = name_list.pop(i)# 是删除指定索引值的列表元素
程序实例ch6_22.py:使用pop( )删除列表元素的应用,这个程序第5行未指明删除的索引值,所以删除了列表的最后一个元素。程序第9行则是指明删除索引值为1的元素。

执行结果

6-4-4 删除指定的元素remove( )
在删除列表元素时,有时可能不知道元素在列表内的位置,此时可以使用remove( )方法删除指定的元素,它的使用方式如下:
name_list.remove(想删除的元素内容)
如果列表内有相同的元素,则只删除第一个出现的元素,如果想要删除所有相同的元素,必须使用循环,下一章将会讲解循环的观念。
程序实例ch6_23.py:删除列表中第一次出现的元素bmw,这个列表有2个bmw字符串,最后只删除索引为1的bmw字符串。

执行结果
