写点什么

Python——列表元素的增删改

用户头像
在即
关注
发布于: 2021 年 06 月 11 日
Python——列表元素的增删改

1.列表元素的增删改:客人名单的变化


  • 对一个给定的列表进行增、删、改等操作,并输出变化后的最终列表。列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。

下面以一则请客的故事来说明列表元素操作的应用场景: 有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表

guests=['Zhangsan','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.1 添加列表元素


Python 提供了 append() 和 insert() 等函数,实现向一个列表增加新元素的功能。

  • 在列表尾部添加元素


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

source_list.append(obj)

其中:

source_list:待修改的列表;

obj:待插入的元素。

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


# 初始化 guests 列表

guests=['Zhang san','Li si','Wang wu','Zhao liu']

# 向 guests 列表尾部追加一个名为 Hu qi 的客人

guests.append('Hu qi')

# 输出新的 guests 列表

print(guests)


输出结果为:

['Zhang san','Li si','Wang wu','Zhao liu','Hu qi']


  • 在列表指定位置添加元素


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

source_list.insert(index,obj)

其中:

source_list:待修改的列表;

index:待插入的位置索引;

obj:待插入的元素。

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

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


# 创建并初始化 guests 列表

guests=['Zhang san','Li si','Wang wu','Zhao liu']

# 向 guests 列表 Zhang san 后面增加一个名为 Hu qi 的客人

guests.insert(1,'Hu qi')

# 输出新的 guests 列表

print(guests)


输出结果为:

['Zhang san','Hu qi','Li si','Wang wu','Zhao liu']


1.2 修改列表元素


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

source_list[index] = obj


其中:

source_list:待修改的列表;

index:待修改元素的位置索引;

obj:待元素的新值。

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


# 初始化 guests 列表

guests=['Zhang san','Li si','Wang wu','Zhao liu']

# 将列表中的`Wang wu`改为`Wang shi`

guests[2] = 'Wang shi'

# 输出新的 guests 列表

print(guests)


输出结果为:

['Zhang san','Li si','Wang shi','Zhao liu']


1.3 删除列表元素


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


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

del 方法

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


del source_list[index]

其中:

source_list:待修改的列表;

index:待删除元素的位置索引。

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

# 初始化 guests 列表

guests=['Zhang san','Li si','Wang wu','Zhao liu']

# 将列表中的`Zhang san`删除

del guests[0]

# 输出新的 guests 列表

print(guests)


输出结果为:

['Li si','Wang wu','Zhao liu']


  • pop 方法

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


deleted_obj = source_list.pop(index)


其中:

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

source_list:待修改的列表;

index:待删除元素的位置索引。

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

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


# 初始化 guests 列表

guests=['Zhang san','Li si','Wang wu','Zhao liu']

# 将列表中的`Zhang san`删除

deleted_obj = guests.pop(0)

# 输出被删除的元素以及删除后的 guests 列表

print(deleted_obj)

print(guests)


输出结果为:

Zhang san

['Li si','Wang wu','Zhao liu']


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


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


source_list.remove(obj)

其中:

source_list:待修改的列表;

obj:待删除元素的值。

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

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

# 初始化 guests 列表,列表中有多个名为 Zhang san 的客人

guests=['Zhang san','Li si','Wang wu','Zhao liu','Zhang san']

# 将列表中的`Zhang san`删除

guests.remove('Zhang san')

# 输出新的 guests 列表

print(guests)

输出结果为:['Li si','Wang wu','Zhao liu','Zhang san']


编程要求:


实现相应的功能。具体要求如下:

1.step 1:将 guests 列表末尾的元素删除,并将这个被删除的元素值保存到 deleted_guest 变量;

2.step 2:将 deleted_guest 插入到 step 1 删除后的 guests 列表索引位置为 2 的地方;

3.step 3:将 step 2 处理后的 guests 列表索引位置为 1 的元素删除;

打印输出 step 1 的 deleted_guest 变量;

打印输出 step 3 改变后的 guests 列表。


测试说明

测试输入:

zhang san

li si

wang wu

tan qi

hu ba

预期输出:

hu ba

['zhang san', 'hu ba', 'wang wu', 'tan qi']


代码



//如果注释理解有误,请大佬们多多评论指教!!

发布于: 2021 年 06 月 11 日阅读数: 8
用户头像

在即

关注

记录学习进度 2021.02.27 加入

一个入门小白白!

评论

发布
暂无评论
Python——列表元素的增删改