Python 列表中的修改、添加和删除元素的实现


Posted in Python onJune 11, 2020

本文介绍的是列表中的修改、添加和删除元素。第一次写博客,如果本文有什么错误,还请大家评论指正。谢谢!
创建的列表大多数都将是动态的,这就意味着列表创建后,将随着程序的运行删减元素。

修改列表元素

修改元素的的语法与访问列表的语法类似。
假设有一个列表motorcycles,其中第一个元素为'honda',修改第一个元素的值

motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0] = 'ducati' 
print(motorcycles)

['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']

列表中第一个元素的值变成了'ducati'

添加列表元素

在列表末尾添加元素

motorcycles = ['honda','yamaha','suzuki']
motorcycles.append('ducati')
print(motorcycles)

['honda', 'yamaha', 'suzuki', 'ducati']

方法append()是将元素'ducati'添加到了列表的末尾,那如果我们想将元素插入到列表元素的中间怎么办?方法insert()解决这个问题。

motorcycles = ['honda','yamaha','suzuki']
motorcycles.insert(1,'ducati')
print(motorcycles)

['honda', 'ducati', 'yamaha', 'suzuki']

元素'ducati'插入在了列表中第二个位置上,这是因为在python程序中,是从0开始计数的,所以'ducati'放在了元素'honda'的后面。

删除列表元素

使用del 语句删除元素

motorcycles = ['honda','yamaha','suzuki']
del motorcycles[1]
print(motorcycles)

['honda', 'suzuki']

删除第二个元素,同理在python程序中,是从0开始计数的,即删除的是'yamaha'

使用 pop()删除元素

pop() 可删除列表中末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像是一个栈,而删除的列表末尾相当于弹出栈顶元素。

motorcycles = ['honda','yamaha','suzuki']
last_owned = motorcycles.pop()
print(last_owned)
print(motorcycles)

suzuki
['honda', 'yamaha']

实际上,我们也可以使用pop()删除任何位置的元素,只需要在括号中指定要删除的元素索引即可。

motorcycles = ['honda','yamaha','suzuki']
last_owned = motorcycles.pop(0)
print(last_owned)

honda

使用remove 语句删除元素

有的时候,我们不知道从列表中删除的位置。如果你只知道要删除元素的值,则可以使用remove()。
例如:我们要从motorcycles列表中删除'ducati'

motorcycles = ['honda','yamaha','suzuki','ducati']
motorcycles.remove('ducati')
print(motorcycles)

['honda', 'yamaha', 'suzuki']

注意:remove()只能删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环判断是否删除了所有这样的值。

练习

# 1.嘉宾名单
# 邀请一些人共进晚餐,人数至少3个,然后使用这个列表打印消息,邀请这些人来与你共进晚餐
guest = ['yege','xiaowang','zhangsan','wangbaoqiang']
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)

Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Zhangsan 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!

# 2.修改嘉宾名单
# 你刚得知有嘉宾无法赴约,因此需要另外邀请一名嘉宾
# 在嘉宾名单的基础上,在程序末尾添加一条print语句,指出哪位嘉宾无法赴约
# 修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾姓名
# 再次打印一系列消息,向名单中的每位嘉宾发出邀请
guest = ['yege','xiaowang','zhangsan','wangbaoqiang']
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print("#" * 60)
print(guest[2].title() + " 因为有急事,所以不能前来赴约,表示抱歉" + "!" )
del guest[2]
guest.insert(2,'lisi')
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print(guest)

Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Zhangsan 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
############################################################
Zhangsan 因为有急事,所以不能前来赴约,表示抱歉!
Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Lisi 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
['yege', 'xiaowang', 'lisi', 'wangbaoqiang']

# 3.添加嘉宾
# 找到了一个更大的餐桌,可容纳更多的嘉宾,请继续邀请3位嘉宾
# 在前面基础上,在程序末尾添加一条print语句,指出你找到了更大的餐桌
# 使用insert()将一位新嘉宾添加到名单中
# 使用insert()将另一位新嘉宾添加到名单中间
# 使用append()将最后一位新嘉宾添加到名单末尾
# 打印一系列消息,向名单中的每位嘉宾发出邀请
guest = ['yege','xiaowang','zhangsan','wangbaoqiang']
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print("#" * 60)
print(guest[2].title() + " 因为有急事,所以不能前来赴约,表示抱歉" + "!" )
del guest[2]
guest.insert(2,'lisi')
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print("#" * 60)
print("告诉大家一个好消息,我找到了一个更大的餐桌!")
guest.insert(0,'laogui')
guest.insert(3,'wangdana')
guest.append('xiaoming')
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[3].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[4].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[5].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[6].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)

Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Zhangsan 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
############################################################
Zhangsan 因为有急事,所以不能前来赴约,表示抱歉!
Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Lisi 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
############################################################
告诉大家一个好消息,我找到了一个更大的餐桌!
Laogui 您好,欢迎来我家做客,一起共进晚餐!
Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Wangdana 您好,欢迎来我家做客,一起共进晚餐!
Lisi 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
Xiaoming 您好,欢迎来我家做客,一起共进晚餐!

# 4.缩减名单
# 得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾
# 在前面基础上,在程序末尾添加一行代码,打印只能邀请两位嘉宾共进晚餐
# 使用pop()不断地删除名单中的嘉宾,直到有两名嘉宾为止,每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进晚餐
# 对余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列
# 使用del将最后两位嘉宾从名单中删除,让名单变为空的,打印该名单,核实程序结束时名单确实是空的
guest = ['yege','xiaowang','zhangsan','wangbaoqiang']
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print("#" * 60)
print(guest[2].title() + " 因为有急事,所以不能前来赴约,表示抱歉" + "!" )
del guest[2]
guest.insert(2,'lisi')
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[-1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print("#" * 60)
print("告诉大家一个好消息,我找到了一个更大的餐桌!")
guest.insert(0,'laogui')
guest.insert(3,'wangdana')
guest.append('xiaoming')
msg = guest[0].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[1].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[2].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[3].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[4].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[5].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
msg = guest[6].title() + " 您好,欢迎来我家做客,一起共进晚餐" + "!"
print(msg)
print("#" * 60)
print(guest)
print("很抱歉,刚得到消息,新的餐桌无法及时送达,只能邀请两位好友来一起共进晚餐了!")
pop_guest = guest.pop(0)
print(pop_guest.title() + "兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐" + "!")
pop_guest = guest.pop(0)
print(pop_guest.title() + "兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐" + "!")
pop_guest = guest.pop(0)
print(pop_guest.title() + "兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐" + "!")
pop_guest = guest.pop(0)
print(pop_guest.title() + "兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐" + "!")
pop_guest = guest.pop(0)
print(pop_guest.title() + "兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐" + "!")
print(guest[0].title() + "兄,你还在受邀之列中,记得一起共进晚餐哦,等你!")
print(guest[1].title() + "兄,你还在受邀之列中,记得一起共进晚餐哦,等你!")
del guest[0]
del guest[0]
print(guest)

Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Zhangsan 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
############################################################
Zhangsan 因为有急事,所以不能前来赴约,表示抱歉!
Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Lisi 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
############################################################
告诉大家一个好消息,我找到了一个更大的餐桌!
Laogui 您好,欢迎来我家做客,一起共进晚餐!
Yege 您好,欢迎来我家做客,一起共进晚餐!
Xiaowang 您好,欢迎来我家做客,一起共进晚餐!
Wangdana 您好,欢迎来我家做客,一起共进晚餐!
Lisi 您好,欢迎来我家做客,一起共进晚餐!
Wangbaoqiang 您好,欢迎来我家做客,一起共进晚餐!
Xiaoming 您好,欢迎来我家做客,一起共进晚餐!
############################################################
['laogui', 'yege', 'xiaowang', 'wangdana', 'lisi', 'wangbaoqiang', 'xiaoming']
很抱歉,刚得到消息,新的餐桌无法及时送达,只能邀请两位好友来一起共进晚餐了!
Laogui兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐!
Yege兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐!
Xiaowang兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐!
Wangdana兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐!
Lisi兄,很抱歉,怪我考虑的不周到,下次我们有机会再一起共进晚餐!
Wangbaoqiang兄,你还在受邀之列中,记得一起共进晚餐哦,等你!
Xiaoming兄,你还在受邀之列中,记得一起共进晚餐哦,等你!
[]

到此这篇关于Python 列表中的修改、添加和删除元素的实现的文章就介绍到这了,更多相关Python 修改添加删除元素内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Windows8下安装Python的BeautifulSoup
Jan 22 Python
进一步探究Python的装饰器的运用
May 05 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
详解Python中的Cookie模块使用
Jul 06 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
python使用turtle库绘制树
Jun 25 Python
对Python3 序列解包详解
Feb 16 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
python实现猜数游戏
Mar 27 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 Python
Python 如何解决稀疏矩阵运算
May 26 Python
python中什么是面向对象
Jun 11 #Python
python实现凯撒密码、凯撒加解密算法
Jun 11 #Python
python新手学习可变和不可变对象
Jun 11 #Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 #Python
什么是python的id函数
Jun 11 #Python
Keras:Unet网络实现多类语义分割方式
Jun 11 #Python
Pycharm中配置远程Docker运行环境的教程图解
Jun 11 #Python
You might like
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
Vue基础配置讲解
2019/11/29 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
Python实现时间序列可视化的方法
2019/08/06 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
股份合作协议书
2014/04/12 职场文书
小学教师师德整改措施
2014/09/29 职场文书
公司会议开幕词
2015/01/29 职场文书
二年级数学教学反思
2016/02/16 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android