Python列表--第1关:列表增删改:客人名单的变化

部署运行你感兴趣的模型镜像

任务描述
列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。下面以一则请客的故事来说明列表元素操作的应用场景。

有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表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()等函数,能够很方便的处理上述列表元素变化的情况。

我们以上述客人名单列表为例介绍这几种列表操作方法。

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

(1). 在列表尾部添加元素
在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']

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

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']

修改列表元素
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']

删除列表元素
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']`

编程要求
本关的编程任务是补全src/Step1/guests.py文件的代码,实现相应的功能。具体要求如下:

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

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

step3: 将step2处理后的guests列表索引位置为1的元素删除。

打印输出step1的deleted_guest变量;

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

本关涉及的代码文件src/Step1/guests.py的代码框架如下:

# coding=utf-8
# 创建并初始化Guests列表
guests = []
while True:
    try:
        guest = input()
        guests.append(guest)
    except:
        break
    
# 请在此添加代码,对guests列表进行插入、删除等操作
###### Begin ######
 
#######  End #######

测试说明
本关的测试文件是src/Step1/guests.py,测试过程如下:

平台自动编译并运行guests.py,并以标准输入方式提供测试输入;
平台获取程序输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/Step1/guests.py的样例测试集:

测试输入:
zhang san
li si
wang wu
hu qi
liu ba
预期输出:
liu ba
['zhang san', 'liu ba', 'wang wu', 'hu qi']

测试输入:
yu yong
gu chao
zeng qi
预期输出:
zeng qi
['yu yong', 'zeng qi']

开始你的任务吧,祝你成功!

如果你觉得这一关的内容对你有帮助,请你在下面点赞。

积极的人像太阳照到哪里哪里亮,消极的人像月亮初一十五不一样。

答案

# coding=utf-8

# 创建并初始化Guests列表
guests = []
while True:
    try:
        guest = input()
        guests.append(guest)
    except:
        break

    
# 请在此添加代码,对guests列表进行插入、删除等操作
########## Begin ##########
a=guests.pop()
guests.insert(2,a)
guests.pop(1)
print(a)
print(guests)
 
########## End ##########

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值