大多数列表将是动态的,这意味着列表创建后,将随着程序的运行增删元素。

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)
#执行结果:
	[]