今天我们一起来学习一下Python的基本结构之列表
本节主要内容为以下两点:
什么是列表
列表操作(增删改查)
我们先来说一说,什么是列表。
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,第三个索引是2,依此类推。序列都可以进行的操作包括索引,切片,增加,检查成员。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项并不需要具有相同的类型。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
那么我们先创建/定义几个列表如下:
list = [1, 2, 3, 4, 5 ]
namelist =["studentA", "studentB", "studentC", "studentD", "studentE"]
list3 =["Wendy", "Cherry", 6, 8, 9]
下面我们再来学习一下列表操作
通过下标访问列表元素
我们以访问namelist列表为例:(namelist列表中有几个学生姓名:A-E)
namelist =["studentA", "studentB", "studentC", "studentD", "studentE"]
print(namelist) # 打印出全部列表元素,即全部学生姓名
print(namelist[0],namelist[3]) # 打印出第一个学生,第四个学生姓名
执行结果如下:
刚刚是从前往后根据下标取出数据,当然也可以从后往前取数据:
print(namelist[-2])# 从后往前下标为-2
print(namelist[-3:-1])
结果如图:
切片:取多个元素
print(namelist[1:4]) # 取下标1至4的元素,包括1,但是不包括4
print(namelist[1:-1]) # 取下标1至-1的元素,包括1,但是不包括-1
运行结果一致:
['studentB', 'studentC', 'studentD']
['studentB', 'studentC', 'studentD']
print(namelist[0:3])
print(namelist[:3]) #如果是从头开始取,0可以忽略,跟上句效果一样
运行结果一致:
['studentA', 'studentB', 'studentC']
['studentA', 'studentB', 'studentC']
print(namelist[0::2]) # 后面的2是代表,每隔一个元素,就取一个
print(namelist[::2]) # 和上句效果一样
运行结果:
['studentA', 'studentC', 'studentE']
['studentA', 'studentC', 'studentE']
增加列表元素
增加元素分为两种,一种是直接在末尾追加,此时调用append方法
namelist =["studentA", "studentB", "studentC", "studentD", "studentE"]
namelist.append("我是新来的")
print(namelist)
打印出新的列表即为:
另外一种是在列表中间追加元素,此时调用insert方法
namelist =["studentA", "studentB", "studentC", "studentD", "studentE"]
namelist.insert(2, "我要插入这里")
print(namelist)
打印出新的列表即为:
修改列表元素
在修改列表元素时,可以直接给某个下标位置元素重新赋值:
namelist =["studentA", "studentB", "studentC", "studentD", "studentE"]
namelist.insert(2, "我要插入这里")
namelist[2] ="你叫studentZ"
print(namelist)
打印出新的列表即为:
删除列表元素
namelist =["studentA", "studentB", "studentC", "studentD", "studentE"]
namelist.insert(2, "我要插入这里")
namelist[2] ="你叫studentZ"
namelist.remove("你叫studentZ") # 删除指定元素
namelist.pop() # 删除列表最后一个值
del namelist[1] # 删除指定下标元素
print(namelist)
运行结果: