列表修改、添加和删除元素
- 大多数创建的列表都是动态的,随程序的运行增删元素
修改列表元素
- 指定列表名和要修改的元素的索引,再指定要修改元素的新值
# 修改列表元素案例
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
在列表中添加元素
- 1.在列表末尾添加元素
- 方法append()将元素添加到列表末尾,不影响列表中其他所有元素
- 列表名.append(‘新的元素名’)
- 可以创建一个空列表,使用一系列append()语句添加元素
- 2.在列表中插入元素
- 使用方法insert()可在列表的任何位置添加新元素,需要制定新元素的索引和值
- 列表名.insert(索引,‘值’)
# 在列表中添加元素案例
# 1.在列表末尾添加元素
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
# 在列表中添加元素案例
# 1.创建空列表,在列表末尾添加新元素
motorcycles = []
print(motorcycles)
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
[]
['honda', 'yamaha', 'suzuki']
# 在列表中添加元素案例
# 2.在列表中插入元素
motorcycles = ['honda','yamaha','suzuki']
# insert方法,指定新元素的索引和值
motorcycles.insert(0,'ducati')
print(motorcycles)
['ducati', 'honda', 'yamaha', 'suzuki']
在列表中删除元素
- 1.使用del语句删除元素
- 条件:需要知道要删除元素在列表中的位置
- del 列表名[索引]
- 2.使用方法pop()删除元素
- 方法pop()可删除列表末尾的元素,并能够接着使用它的值。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
- 3.弹出列表中任何位置处的元素
- 方法pop()中指定要删除元素的索引
- 4.根据值删除元素
- 不知道列表中删除值所在位置,只知道删除元素的值
- 使用方法remove()
- 列表名.remove(‘值’)
- 删除元素时,也可接着使用它的值
- 注意;方法remove()只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值
# 在列表中删除元素案例
# 1.使用del语句删除元素
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
#删除列表中第二个元素
del motorcycles[1]
print(motorcycles)
['honda', 'yamaha', 'suzuki']
['honda', 'suzuki']
# 在列表中删除元素案例
# 2.使用pop()方法删除元素
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
# 弹出一个末尾的值,并存到变量中
popped_motorcycles = motorcycles.pop()
print(motorcycles)
# 打印弹出的值,证明依然能够访问被删除的值
print(popped_motorcycles)
# pop作用:假设列表中摩托车是按购买时间存储的,使用pop打印一条消息,指出最后购买的是哪款摩托车
motorcycles = ['honda','yamaha','suzuki']
last_owned = motorcycles.pop()
print("The last motorcycle I owned was a " + last_owned.title() + ".")
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
The last motorcycle I owned was a Suzuki.
# 3.弹出列表中任何位置处的元素
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
# 指定弹出列表中的第一个元素
first_owned = motorcycles.pop(0)
print(first_owned)
print(motorcycles)
print("The first motorcycles I owned was a " + first_owned.title() +".")
['honda', 'yamaha', 'suzuki']
honda
['yamaha', 'suzuki']
The first motorcycles I owned was a Honda.
# 4.根据值删除元素
motorcycles = ['honda','yamaha','suzuki','ducati']
print(motorcycles)
# 使用remove方法根据值删除元素
motorcycles.remove('ducati')
print(motorcycles)
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
# 4.根据值删除元素后,使用值
motorcycles = ['honda','yamaha','suzuki','ducati']
print(motorcycles)
# 将值存储到变量中,可以作为打印消息
too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print("\nA " + too_expensive.title() + " is too expensive for me")
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me
练习
# 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兄,你还在受邀之列中,记得一起共进晚餐哦,等你!
[]