Python玩转列表之增删改

下面以一则请客的故事来说明列表元素操作的应用场景:

有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表guests=['Zhang san','Li si','Wang wu','Zhao liu']。后面因为一些临时情况,这个客人名单不断变化:

  • Zhao liu说要带他的朋友Hu qi一起来;

  • Zhang san因临时有事不能来了;

  • Wang wu说由他的弟弟Wang shi代他赴宴。

最终的客人名单列表如下:

 ['Li si','Wang shi','Zhao liu','Hu qi']

相关知识

Python 为列表类型提供了一系列内置操作,包括append()insert()pop()remove()等函数,能够很方便的处理上述列表元素变化的情况。我们以上述客人名单列表为例介绍这几种列表操作方法。

添加列表元素

(1)在列表尾部添加元素

在 Python 中,可以使用append()方法向一个列表的尾部追加一个元素,其基本语法如下:

Python玩转列表之增删改

其中:

  • source_list待修改的列表

  • obj待插入的元素

例如,要向guests列表尾部增加客人Hu qi,相应的语句为:

Python玩转列表之增删改

输出结果为:

Python玩转列表之增删改 

(2)在列表指定位置添加元素

Python 也提供了insert()方法,可以在列表任意指定位置插入元素,其基本语法为:

Python玩转列表之增删改

其中:

  • source_list待修改的列表

  • index待插入的位置索引

  • obj待插入的元素。

注意:在 Python 中,列表起始元素的位置索引为000。

 

例如,要向guests列表中Zhang san的后面增加客人Hu qi,则相应的语句为:

Python玩转列表之增删改 

输出结果为:

Python玩转列表之增删改 

修改列表元素

Python 中修改列表元素的方法为:直接将列表中要修改的元素索引指出,然后为其指定新值。其基本语法如下:

Python玩转列表之增删改

 

其中:

  • source_list待修改的列表

  • index待修改元素的位置索引

  • obj待元素的新值

例如,将请客名单guests列表中的Wang wu改为Wang shi,则相应的语句为:

Python玩转列表之增删改

输出结果为:

Python玩转列表之增删改 

 

删除列表元素

Python 提供了多种不同的方法来实现对列表中元素的删除操作,包括根据元素索引位置或者元素值删除元素的方法。

(1)删除指定位置的元素

del方法

在 Python 中,调用del函数能够删除指定索引位置的元素,其基本语法如下:

Python玩转列表之增删改

其中:

  • source_list待修改的列表

  • index待删除元素的位置索引

例如,将请客名单guests列表中的Zhang san删除,则相应的语句为:

Python玩转列表之增删改 

pop方法

Python 还提供了pop()方法来删除元素,该方法将从源列表删除对应元素,同时返回被删除的元素。其基本语法如下:

Python玩转列表之增删改

其中:

  • deleted_obj保存被删除元素的变量,可根据需要*命名;

  • source_list待修改的列表

  • index待删除元素的位置索引

注意:index参数为可选项,不填则默认删除列表末尾的元素。

例如,将请客名单guests列表中的Zhang san删除,则相应的语句为:

Python玩转列表之增删改

(2)删除指定值对应的元素

有些时候我们并不知道要删除元素的位置索引,怎么办呢?别着急,Python 还提供了remove()方法,可以直接通过元素值来删除对应的元素。其基本语法如下:

Python玩转列表之增删改 

其中:

  • source_list待修改的列表

  • obj:待删除元素的

注意:如果列表中有多个值为obj的元素,remove仅删除位置索引最靠前的那个元素。

例如,将请客名单guests列表中的Zhang san删除,则相应的语句为:

Python玩转列表之增删改