在讲列表的“增删改查”之前,我们先来讲解什么叫做列表。
举个例子:
namelist = [] #定义一个空的列表
namelist = ["小明", "小红", "小张"]
print(namelist[0])
print(namelist[1])
print(namelist[2])
运行结果:
小明
小红
小张
可见python里面的列表就相当于“数组”,可以将列表里的数据按下标位置来输出。其包容性很大,可以有很多形式,比如数字和字符串的结合
testlist = [1, "测试"]
print(testlist[0])
print(testlist[1])
运行结果如下:
1
测试
既然列表相当于“数组”,因此,列表也可以和 for 与 while 循环连用。下面我们来举个例子:
for循环:
namelist = ["小明", "小红", "小张"]
for name in namelist:
print(name)
运行结果如下:
小明
小红
小张
while循环:
length = len(namelist) #len()函数的作用是用来得到列表长度。
i = 0
while i < length:
print(namelist[i])
i += 1
运行结果如下:
小明
小红
小张
明白这些,我们再来深入探讨一下,之前对于 input()的研究发现,无论从键盘输入的是什么类型,其最终都是以 str 的类型进行储存的。因此,我们设想一下,对于列表来说,其中数据的是以何种类型进行储存的呢?
以下列代码为例:
testlist = [1, "测试"]
print(testlist[0])
print(testlist[1])
print(type(testlist[0]))
print(type(testlist[1]))
运行结果如下:
1
测试
<class 'int'>
<class 'str'>
通过结果可见,列表里的数据跟从键盘输出的原数据类型一致,并未发生改变。好了,知道这些后我们进行今天的内容讲解:python里列表的“增删改查”
一、增:
1.【append】
#增加: 【append】
namelist = ["小明", "小红", "小张"]
print("-------增加前,名单列表的数据--------")
for name in namelist:
print(name)
nametemp = input("请输入新添加的学生姓名:")
namelist.append(nametemp) #在末尾追加一个元素
print("-------增加后,名单列表的数据--------")
for name in namelist:
print(name)
namelist.append(nametemp)便是将在原namelist列表的数据在末尾追加一个元素。
运行结果如下:
-------增加前,名单列表的数据--------
小明
小红
小张
请输入新添加的学生姓名:小赵
-------增加后,名单列表的数据--------
小明
小红
小张
小赵
2.【extend】:
#增 : 【extend】
a = [1, 2]
b = [3, 4]
a.append(b) #列表当作一个元素,加入到 a 列表中
print(a)
a.extend(b) #将 b 列表中每一个元素,逐一追加到 a 列表中
print(a)
运行结果如下:
[1, 2, [3, 4]]
[1, 2, [3, 4], 3, 4]
这个结果就相当于“二维数组”
3.【insert】:
#增:【insert】(插入)
a = [0, 1, 2]
a.insert(1, 3) #第一个变量表示下标,第二个变量表示元素(对象)
print(a) #作用:指定下标位置插入元素。
运行结果如下:
[0, 3, 1, 2]
二、删:
1.del:
#删除:del
movieName = ["怦然心动","当幸福来敲门","指环王","教父","战狼"]
print("-------删除前,电影列表的数据--------")
for name in movieName:
print(name)
del movieName[3] #在指定下标位置删除一个元素 del 放在最前面用的符号不是(),而是【】
print("-------删除后,电影列表的数据--------")
for name in movieName:
print(name)
运行结果如下:
-------删除前,电影列表的数据--------
怦然心动
当幸福来敲门
指环王
教父
战狼
-------删除后,电影列表的数据--------
怦然心动
当幸福来敲门
指环王
战狼
2.pop(弹出):
#删除:pop(弹出)
movieName = ["怦然心动","当幸福来敲门","指环王","教父","战狼"]
print("-------删除前,电影列表的数据--------")
for name in movieName:
print(name)
movieName.pop() #弹出末尾最后一个元素
print("-------删除后,电影列表的数据--------")
for name in movieName:
print(name)
运行结果如下:
-------删除前,电影列表的数据--------
怦然心动
当幸福来敲门
指环王
教父
战狼
-------删除后,电影列表的数据--------
怦然心动
当幸福来敲门
指环王
教父
3.remove(移动):
#删除:remove(移动)
movieName = ["怦然心动","当幸福来敲门","指环王","教父","战狼"]
print("-------删除前,电影列表的数据--------")
for name in movieName:
print(name)
movieName.remove("指环王") #删除指定内容的元素。并且当数据中出现多个重复内容的数据时,只删除其找到的第一个数据。
print("-------删除后,电影列表的数据--------")
for name in movieName:
print(name)
运行结果如下:
-------删除前,电影列表的数据--------
怦然心动
当幸福来敲门
指环王
教父
战狼
-------删除后,电影列表的数据--------
怦然心动
当幸福来敲门
教父
战狼
三、改:
#改:
namelist = ["小明", "小红", "小张"]
print("-------修改前,名单列表的数据--------")
for name in namelist:
print(name)
namelist[1] = "小兰" #直接通过下标来进行对指定位置的数据的修改
print("-------修改后,名单列表的数据--------")
for name in namelist:
print(name)
运行结果如下:
-------修改前,名单列表的数据--------
小明
小红
小张
-------修改后,名单列表的数据--------
小明
小兰
小张
四、查:
#查:in , not in
namelist = ["小明", "小红", "小张"]
FindName = input("请输入你要查询的学员姓名:")
if FindName in namelist:
print("在学员名单中找到了相同的姓名")
else:
print("没有找到该姓名")
运行结果如下:
请输入你要查询的学员姓名:小红
在学员名单中找到了相同的姓名
以上就是python中列表的“增删改查”。希望我的这篇文章可以帮到有疑惑的朋友。