本文介绍的是列表中的修改、添加和删除元素。第一次写博客,如果本文有什么错误,还请大家评论指正。谢谢!
创建的列表大多数都将是动态的,这就意味着列表创建后,将随着程序的运行删减元素。
修改列表元素
修改元素的的语法与访问列表的语法类似。
假设有一个列表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兄,你还在受邀之列中,记得一起共进晚餐哦,等你!
[]