1.1列表定义
列表由一系列按特定顺序排列的元素组成。建议定义列表使用复数标识s。
python中用方括号[]表示列表,并用逗号分隔其中的元素。
1.2访问列表元素
列表是有序集合,因此要访问列表的任意元素,只需将元素的位置(索引)告诉python即可。
1.3索引从0开始而不是1开始
列表-1是最后一个列表元素
下面完成一个列子演示1.1-1.3并完成练习3-1到3-3
2、修改、添加和删除元素
2.1修改列表元素
修改列表元素的方法是列表名+要修改的元素的索引,然后在重新指定该元素的新值就可以了。
例如:
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'#修改的方法
print(motorcycles)
结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
2.2在列表中添加元素
- 在列表末尾添加元素
在列表末尾添加新元素,最简单的方法就是将元素附加(append)到列表。
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
结果:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
也可以先建个空列表,在使用append()来添加元素
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
结果
['honda', 'yamaha', 'suzuki']
- 在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素。方法如下:
motorcycles = ['honda','yamaha','suzuki']
motorcycles.insert(1,'ducati')#在motorcycles列表索引1处插入‘ducati’
print(motorcycles)
结果:
['honda', 'ducati', 'yamaha', 'suzuki']
2.3从列表中删除元素
- 使用del语句删除元素
如何知道要删除的元素列表中的位置,可使用del语句。使用方法是【del 列表变量[索引号]】
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
结果
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
- 使用方法pop()删除元素
pop()是删除列表末尾的元素。什么情况下用pop()呢?当我们需要删除元素,但是以后还会用到这个值的时候我们就可以用pop()这个方法。
例如:
- 弹出列表中的任何位置处的元素
还可以是pop(序号)来删除任意位置的元素
motorcycles = ['honda','yamaha','suzuki']
first_owned = motorcycles.pop(1)#这里是删除了列表的第2个元素
print(f"The first motorcycle I owned was a {first_owned.title()"})
- 根据值删除元素
有时候,我们是不知道从列表中删除的值所在的位置,如果只知道要删除的元素的值,可以使用方法remove()
使用格式为:列表变量.remove('值’)
还可以知道要删除的值为一个新的变量,然后在使用remove()删除这个变量,也可以达到删除列表某个值的目的。
使用格式为:
列表变量 = [‘值1’,‘值2’,‘值3’,‘值4’]
变量 = ‘值3’
列表变量.remove(变量)
需要特别注意是个remove()只能删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除。
练习3-4:嘉宾名单
练习3-5:修改嘉宾名单
练习3-6:添加嘉宾
练习3-7:缩减名单
names = ['毛晓彤','赵丽颖','万绮雯']#列表
print(f"今晚我邀请{names[0]}、{names[1]}和{names[2]}共进晚餐!")#打印列表我邀请的人
cannot_name = names.pop()#删除不能来的嘉宾
print(f"因为{cannot_name}临时有事情今晚不能赴约。")#打印出不能来的原因
print(names)#打印删除后的列表
names.append('刘亦菲')#添加新的嘉宾
print(f"所以我重新邀请{names[0]}、{names[1]}和{names[2]}共进晚餐")
print('我刚购买了一个更大的餐桌,所以我想多邀请3为嘉宾')
names.insert(0,'赵思露')#在列表开头处添加新名单
print(names)
names.insert(2,'高圆圆')#在列表中间添加新名单
print(names)
names.append('宋轶')#在列表末尾处添加新名单
print(names)
print(f"我叫助手向{names[0]}发出邀请函!")
print(f"我叫助手向{names[1]}发出邀请函!")
print(f"我叫助手向{names[2]}发出邀请函!")
print(f"我叫助手向{names[3]}发出邀请函!")
print(f"我叫助手向{names[4]}发出邀请函!")
print(f"我叫助手向{names[5]}发出邀请函!")
print('我的助手刚刚电话说新的餐桌无法及时送到,我们不能邀请那么多嘉宾了。\
根据实际情况我们只能邀请两位嘉宾。') #太长使用了\换行(只是在代码中换行不影响显示结果)
del_name_1 = names.pop(0)#删除列表0序号的人名
print(f"对不起因为家境贫寒我无法邀请{del_name_1}共进晚餐")
del_name_2 = names.pop(1)
print(f"对不起因为家境贫寒我无法邀请{del_name_2}共进晚餐")
del_name_3 = names.pop(1)
print(f"对不起因为家境贫寒我无法邀请{del_name_3}共进晚餐")
del_name_4 = names.pop(2)
print(f"对不起因为家境贫寒我无法邀请{del_name_4}共进晚餐")
print(f"但是我依然会邀请{names[0]}和{names[1]}共进晚餐")
del names[0]
del names[0]
print(names)
结果
今晚我邀请毛晓彤、赵丽颖和万绮雯共进晚餐!
因为万绮雯临时有事情今晚不能赴约。
['毛晓彤', '赵丽颖']
所以我重新邀请毛晓彤、赵丽颖和刘亦菲共进晚餐
我刚购买了一个更大的餐桌,所以我想多邀请3为嘉宾
['赵思露', '毛晓彤', '赵丽颖', '刘亦菲']
['赵思露', '毛晓彤', '高圆圆', '赵丽颖', '刘亦菲']
['赵思露', '毛晓彤', '高圆圆', '赵丽颖', '刘亦菲', '宋轶']
我叫助手向赵思露发出邀请函!
我叫助手向毛晓彤发出邀请函!
我叫助手向高圆圆发出邀请函!
我叫助手向赵丽颖发出邀请函!
我叫助手向刘亦菲发出邀请函!
我叫助手向宋轶发出邀请函!
我的助手刚刚电话说新的餐桌无法及时送到,我们不能邀请那么多嘉宾了。根据实际情况我们只能邀请两位嘉宾。
对不起因为家境贫寒我无法邀请赵思露共进晚餐
对不起因为家境贫寒我无法邀请高圆圆共进晚餐
对不起因为家境贫寒我无法邀请赵丽颖共进晚餐
对不起因为家境贫寒我无法邀请宋轶共进晚餐
但是我依然会邀请毛晓彤和刘亦菲共进晚餐
[]
[Finished in 0.1s]