目录
前言:
列表元素的添加(或者叫写入)
1.append()函数
2.extend()函数
3.insert()函数
列表元素的删除
1.remove() 函数
2. pop() 函数
3.clear()函数
4.del 方法(这个不是函数哦)
列表元素的修改
1.单个值进行修改
2.多个值的修改
列表元素的查询
1.index() 函数
2.count()函数
获取列表的长度(即元素的个数)
len() 函数
习题
前言:
在上一期已经介绍了Python的的序列,这一期我会详细讲解Python中有序序列----列表元素的插入,删除,修改,查询和获取长度,来让大家进一步学习列表的用法。
上一期内容Python学习------起步3(序列与数据类型转换)_守约斯维奇的博客-CSDN博客)
列表元素的添加(或者叫写入)
1.append()函数
方式:这个函数会把增加的元素,放到列表的末尾
格式:列表名.append(新增数据)
添加类型:前面讲了,列表可以包含Python所有的类型,所以添加字符串,整形,浮点型,布尔类型,列表类型,元组类型,都是没有问题的。
注意事项:这个函数会把添加的数据看做为一个整体来进行添加,比如添加列表,那么添加的是列表的一个整体
示例:
li=['李白','韩信','百里玄策']
print(li)
#写入数据
li.append('曜')
print(li)
a='赵云'
li.append(a)
print(li)
#添加列表
bb=['橘右京','娜可露露']
li.append(bb)
print(li)
#添加元组
cc=('瑶','蔡文姬')
li.append(cc)
print((li))
运行结果:
2.extend()函数
添加方式:该方法的新增元素都添加在列表的末尾
格式:列表名.extend(新增数据)
注意事项:这个函数会把添加的数据进行初步拆分,再进行添加,比如添加列表,那么添加的结果是初步拆分好的链表
示例1:
li=[1,'李白',2,'李信',3,'李华']
print(li)
#添加字符串
li.extend('夏洛特')
print(li)
不难看出来,结果跟append()函数是不一样的,我添加了'夏洛特' 这个字符串,输出结果把这三个字拆分了。这是因为extend() 函数在添加数据的时候会进行初步拆分,然后把拆分好的数据添加到链表的末尾。
示例2:
li=[1,'李白',2,'李信',3,'李华']
print(li)
#添加列表
aa=[4,'澜朋友',5,'夏洛特']
li.extend(aa)
print(li)
#添加元组
bb=('明世隐','孙斌')
li.extend(bb)
print(li)
这里我们也可以看到,如果我去条件列表或者元组的话,只是进行初步拆分然后添加进去,而不是把列表当做一个整体来添加进去,这跟append() 函数是不一样的;然后就是我添加列表里面的数据没有进行拆分,‘夏洛特’ 这三个字就没有拆分了,因为这个元素是在添加列表bb里面的,已经进行初步拆分了。
3.insert()函数
添加方式:可以根据我们指定的位置进行数据添加,想放到哪里就放到哪里
格式:列表名.insert(下标值,新增数据)
注意事项:这个函数添加的数据跟append()函数一样,都是把数据作为一个整体进行添加
示例:
#位置号
# 0 1 2
li=['百里守约','李元芳','马可波罗']
print(li)
#添加字符串
li.insert(1,'孙尚香')
print(li)
#添加列表
li.insert(1,['黄忠','伽罗'])
print(li)
#添加元组
li.insert(2,('鲁班七号','鲁班大师'))
print(li)
使用insert()函数,我们可以在想要的位置插入数据,前面讲到过列表的数据位置是从0、1、2、3……去作为下标的。还有就是,insert()函数跟append()函数一样,把数据作为一个整体去添加。
列表元素的删除
1.remove() 函数
方式:是根据数据值进行删除,直接输入要删除的数据
格式:列表名.remove(数据)
注意事项:注意!要删除的数据,在列表中必须存在,否则就会报错!
如果列表有相同的数据时,只能删除下标值最小的那个数据
示例1:
li=['百里守约','李元芳','马可波罗']
print(li)
#添加字符串
li.insert(1,'孙尚香')
print(li)
#删除数据
li.remove('李元芳')
print(li)
可以看出,‘李元芳’ 被删除了。非常简单!
示例2:
li=['百里守约','李元芳','马可波罗']
print(li)
#添加字符串
li.insert(1,'孙尚香')
print(li)
#删除数据,这里我删除一个列表不存在的数据'韩信'
li.remove('韩信')
print(li)
很显然,结果是报错的,所以在使用remove函数的时候,要注意删除的数据是否在列表存在!!!
示例3:
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
#删除数据
li.remove('孙悟空')
print(li)
家人们,猜一猜输出结果是什么? 答案揭晓:
看,我要删除'孙悟空' 结果只删除了第一个'孙悟空',而后面的'孙悟空' 没有被删除,这说明remove()函数只删除一个下标的数据,而且如果出现相同的数据,会删除下标值最小的那个数据(最靠前的那个)
2. pop() 函数
方法:根据下标值删除数据
格式:列表名.pop(下标)
注意事项:当pop没有下标,会默认删除最后一个数据
当下标值超过列表长度会报错
示例1:
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
print(li)
#删除数据
li.pop(2)
print(li)
结果就很简单了,直接把下标为2的'娜可露露' 删除了,我就不多说了
示例2:
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
print(li)
#删除数据
li.pop()
print(li)
如果我不写删除哪个下标的数据,这个系统会默认删除列表最后一个数据。(当检索到最后一个数据的时候,解释器还没有找到要删除哪个数据,所以会直接删除最后一个数据)
示例3:
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
print(li)
#删除数据
li.pop(9)
print(li)
很显然,如果下标超过列表的最大下标值,会报错。
3.clear()函数
方式:删除列表所有数据,使其成为空列表
格式:列表名.clear()
这个很简单,就是直接把列表变为空列表
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
print(li)
#清空列表
li.clear()
print(li)
4.del 方法(这个不是函数哦)
方法:根据下标删除元素,不过可以进行范围性删除数据(利用切片)
格式:del 列表名[起始值:终点值:步长]
注意事项:del 不仅仅可以去删除数据,还可以去删除变量
示例:
#删除单个数据
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
del li[1]
print(li)
#删除多个数据
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
del li[1:3]
print(li)
#删除全部数据
del li[:]
print(li)
#删除列表
del li
print(li)
这里可以用切片法去删除范围的数据,就不多说了。最后一个我是直接删除列表 del li 这跟clear()函数不一样,del是直接删除列表,如果下面我再去使用(输出这个列表)就会报错。因为这个列表已经不存在了。
列表元素的修改
1.单个值进行修改
格式:列表名[下标]=新元素
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
li[2]='橘右京'
很简单就不多说了。
2.多个值的修改
格式:列表名[起始值:终点值] = 新元素
同样也是可以用切片法,选择性的修改,前面已经详细介绍了切片法Python学习------起步3(序列与数据类型转换)_守约斯维奇的博客-CSDN博客,这里不多说了。
li=['孙悟空','韩信','娜可露露','孙悟空','李白']
print(li)
#列表的多个值修改
li[1:3]='橘右京','百里玄策'
print(li)
列表元素的查询
1.index() 函数
方式:该方法得到的结果就是元素对应的下标
格式:元组名.index(数据)
注意事项:如果输入查询一个列表中不存在的数据,结果会报错
li=['狂铁','蒙恬','凯','白起','钟无艳']
print(li)
#数据下标的查询
a=li.index('白起')
b=li.index('蒙恬')
print(a,b)
这个函数还是很简单的,直接输入要查询的数据,然后就会得到这个数据的位置下标。
2.count()函数
作用:统计元素在列表中出现的次数
格式:列表名.count(数据)
示例1:
li=['狂铁','蒙恬','凯','白起','钟无艳','白起']
print(li)
#数据下标的查询
a=li.count('白起')
print(a)
可以看出‘白起’ 出现的次数为2,那么结果就返回2
示例2:
那如果我想查询一个列表不存在的数据,结果会怎么样呢?会报错吗?
li=['狂铁','蒙恬','凯','白起','钟无艳','白起']
print(li)
#数据下标的查询
a=li.count('李信')
print(a)
结果是不会报错,返回值为0,所以我们可以通过这个函数去检测,这个列表中是否存在这个数据,如果结果为0,那么 列表中出现这个数据的次数为0次,说明不存在这个数据。
获取列表的长度(即元素的个数)
len() 函数
作用:统计元素在列表中出现的次数
格式:列表名.count(数据)
li=['狂铁','蒙恬','凯','白起','钟无艳','白起']
print(li)
#统计这个列表里面元素的个数
length=len(li)
print(length)
很显然,结果是有6个元素的,这没什么好说的。
习题
1.已知一个列表li= [1,2,3,4,5,6,1]
(1)求列表的长度
(2)判断7 是否在列表中
(3)在列表的末尾新增一个元素10
(4)删除第一个元素
(5)在列表中在添加一个列表li1[10,14,17]
(6)删除整个列表li
(7)在列表中在添加一个元组t(0,5,30)
(8)统计元素1在列表的次数
(9)把元素5改成15
2、判断数据的类型时候应该使用什么?
3、简述Python中目前学习到的几种数据类型,分别为什么?
3、简述变量的命名规范有哪些
学习完了这些内容,一起来做做练习吧!!!
答案
#1
li= [1,2,3,4,5,6,1]
#(1)
print(len(li))
#(2)
print(li.count(7))
#(3)
li.append(10)
print(li)
#(4)
del li[0]
print(li)
#(5)
li1=[10,14,17]
li.insert(2,li1)
print(li)
#(6)
del li
#(7)
li= [1,2,3,4,5,6,1]
t=(0,5,30)
li.insert(5,t)
print(li)
#(8)
print(li.count(1))
#(9)
li[li.index(5)]=15
print(li)
#2
#用type()函数
#3
#int(整形) str(字符串类型) bool(布尔类型) list(列表类型) tuple(元组类型) float(浮点型)
#4
#通过下面这个方法,可以查看一些已经定义好的量,变量不可以取这些名字
# import keyword
# keyword.kwlist
好了,这一期就讲到这里了,喜欢的话就给个关注吧!thanks~~~