上节教程我们对列表有了一个简单的介绍,本节教程就来介绍列表元素的添加和删除。
Python列表元素的添加
添加列表元素的方法有三个:append( )、insert( ) 和 extend( )。下面分别给予简单介绍:
append( ):在列表尾部添加一个新元素。
insert( ):在列表中的指定索引位置“插入”一个元素。
extend( ):把一个列表整体“扩展添加”到另外一个列表的尾部。
这三个操作都属于原地(in place)操作。也就是说,被操作的列表,其内存地址(可以理解为列表对象独一无二的标识)不会因为上述三种操作而发生变化,依然原地待命,如图 1 中的代码所示。
图 1:增加列表元素的方法
运行图 1 中的程序,观察结果:通过内置函数 id( ) 检测发现,在经过多种方法操作之后,列表对象 fruits 的内存地址始终如一,这就是“原地操作”的内涵。在 Python 中,id( ) 函数是一个常用的内置函数,用于获取对象的内存地址。
Python列表元素的删除
删除列表中的元素也有三种常见的方法,它们分别是 pop( )、remove( ) 和 clear( )。
使用 pop( ) 时,如果不指定索引值(index),则默认值为 -1,即弹出(删除)列表中最后一个元素。若添加其他索引,则根据给定索引值实施弹出操作。
如果不用索引作为参数,则可采用 remove(x) 方法,此处 x 表示要被删除的数值。该方法用于删除列表中第一个与指定值(x)相同的元素。
列表还有一种将全体元素清空的方法,那就是 clear( )。
上述三种方法都属于原地操作范畴。此外,我们还可利用全局内置函数del()删除列表中指定位置的元素。该函数不隶属于任何数据类型,可以理解为它是公用的静态函数。它也属于原地操做范畴,示例如下:
In [12]: fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
In [13] : fruits.pop() #弹出并返回尾部元素(默认索引为)
Out[13]: 'banana'
In [14]: fruits #验证:原列表最后一个元素'banana '已被删除
Out[14]: ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple']
In [15]: fruits.pop(2) #弹出并返回索引值为 2 的元素
Out[15]: 'pear'
In [16]: fruits #验证:原列表中索引值为2的元素 'pear' 已被删除
Out[16]: ['orange', 'apple', 'banana', 'kiwi', 'apple']
In [17]: fruits.remove ('apple' ) #删除歹U表中第一个值为 'apple' 的元素
In [18]: fruits #验证:列表中第一个值为 'apple' 的元素已被删除
Out[18]: ['orange'', 'banana', 'kiwi', 'apple']
In [19]: fruits.clear() #清空列表中所有元素
In [20]: fruits #验证:列表已经为空
Out[20]: []
In [21]: fruits =['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
In [22]: del fruits[3] #利用内置函数 del() 删除列表 fruits 中索引值为3的元素
In [23]: fruits #验证:原来索引值为 3 的元素 'banana' 已经被删除
Out[23]: ['orange', 'apple', 'pear', 'kiwi', 'apple', 'banana']