大多数列表将是动态的,这意味着列表创建后,将随着程序的运行增删元素。
3.2.1 修改列表元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定表名和要修改的元素指引,再指定该元素的新值。
#代码:
#定义一个列表
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#修改列表中的第一个元素
motorbicycles[0] = 'ducati'
print(motorbicycles)
print(motorbicycles[0])
#执行结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
ducati
3.2.2 在列表中添加元素
Python 提供了多种在既有列表中添加新数据的方法。
1、在列表末尾添加元素
在列表中添加新元素,最简单的方式是将元素附加(append)到列表。给列表附加元素时,它将添加到列表末尾。
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#在列表末尾添加:ducati
motorbicycles.append('ducati')
print(motorbicycles)
#执行结果:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
2、在列表中插入元素
使用 insert() 可在列表的任何位置添加新元素。
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#第一个元素后插入:ducati
motorbicycles.insert(1,'ducati')
print(motorbicycles)
#执行结果:
['honda', 'yamaha', 'suzuki']
['honda', 'ducati', 'yamaha', 'suzuki']
3.2.3 从列表中删除元素
1、使用 del 语句删除元素
如果知道要删除的元素在列表中的位置,可使用 del 语句。
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#删除第一个元素
del motorbicycles[0]
print(motorbicycles)
#执行结果:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
2、使用 pop() 删除元素
使用 pop() 删除列表中末尾的元素,并让你能够接着使用它。
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#删除最后一个元素
popped_motorbicycles = motorbicycles.pop()
print(motorbicycles)
print(popped_motorbicycles)
#执行结果:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
3、弹出列表中任何位置的元素
使用 pop() 删除列表中任意位置元素,只需要在圆括号中指定要删除元素的索引即可。
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#删除第一个元素
popped_motorbicycles = motorbicycles.pop(0)
print(motorbicycles)
print(popped_motorbicycles)
#执行结果:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
honda
如果你要从列表中删除一个元素,且不再使用它,就是用 del 语句;如果还要继续使用它,就是用 pop() 。
4、根据值删除元素
当不知道从列表中删除的值所在的位置,只知道要删除的元素的值,可使用 remove() 。
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
#删除 yamaha
motorbicycles.remove('yamaha')
print(motorbicycles)
#执行结果:
['honda', 'yamaha', 'suzuki']
['honda', 'suzuki']
使用 remove() 从列表中删除元素时,也可接着使用它的值。下面删除值 honda 并打印一条消息:
#代码:
motorbicycles = ['honda','yamaha','suzuki']
print(motorbicycles)
too_expensive = 'honda'
motorbicycles.remove(too_expensive)
print(motorbicycles)
print("{}{}{}".format('A ',too_expensive.title(),' is too expensive for me!'))
#执行结果:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
A Honda is too expensive for me!
注:remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保每个值都删除。
3.2.4 练习
1、创建一个列表,其中至少包含三个你想邀请的人;然后使用这些人打印消息邀请他们参加你的葬礼。
#代码:
names = ['张三','李四','王五']
print(f"{names[0]}您好,能来参加我的葬礼吗?")
print(f"{names[1]}您好,能来参加我的葬礼吗?")
print(f"{names[2]}您好,能来参加我的葬礼吗?")
#执行结果:
张三您好,能来参加我的葬礼吗?
李四您好,能来参加我的葬礼吗?
王五您好,能来参加我的葬礼吗?
2、列表中的‘王五’不能来参加赴约,修改嘉宾名单并邀请 ‘赵六’ 咱家葬礼。
#代码:
names = ['张三','李四','王五']
print(f"{names[2]} 不能参加葬礼。")
#将 王五 从列表中剔除。
del_name = '王五'
names.remove(del_name)
print(names)
#将 赵六 加入邀请列表并发出邀请。
names.insert(2,'赵六')
print(names)
print(f"{names[2]} 您好,能来参加我的葬礼吗?")
#执行结果:
王五 不能参加葬礼。
['张三', '李四']
['张三', '李四', '赵六']
赵六 您好,能来参加我的葬礼吗?
3、向列表中插入嘉宾名单。
#代码:
names = ['张三','李四','王五']
#使用 insert 将 赵二 添加到名单开头
names.insert(0,'赵二')
#使用 insert 将 马六 添加到名单中间
names.insert(2,'马六')
#使用 append 将 狗剩 添加到名单
names.append('狗剩')
print(names)
#执行结果:
['赵二', '张三', '马六', '李四', '王五', '狗剩']
4、使用 pop() 删除两位嘉宾,最后一位用 del 删除。
#代码:
names = ['张三','李四','王五']
pop_zhangsan = names.pop(0)
pop_lisinames = names.pop(0)
del names[0]
print(names)
#执行结果:
[]