目录

前言:

列表元素的添加(或者叫写入)

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(数据)

注意事项:如果输入查询一个列表中不存在的数据,结果会报错,同时这个函数还具有范围查询的功能

示例1: 

li=['狂铁','蒙恬','凯','白起','钟无艳']
print(li)
#数据下标的查询
a=li.index('白起')
b=li.index('蒙恬')
print(a,b)

这个函数还是很简单的,直接输入要查询的数据,然后就会得到这个数据的位置下标。

示例2:

li=['狂铁','蒙恬','凯','白起','钟无艳']
print(li)
print(li.index('蒙恬',0,2))#这个是在准确的范围以内的
print(li.index('凯',0,1))  #这个是不在这个范围以内的

 从这里我们可以看出,如果在查询的数据不在这个范围以内就会报错,如果在范围以内就可以查询得到,同时还可以减少运算次数

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~~~

Python学习-----起步4(列表元素的添加,删除,修改,查询,获取长度)相关推荐

  1. python学习-数据类型(列表→创建、取值、大小、长度)

    数据类型 列表(list) 列表的创建 列表的取值(划重点) 列表的大小和长度 列表(list) 列表的创建 列表的创建很简单,使用中括号.理论上中括号里面的值是任意类型,上代码: lst1 = [1 ...

  2. Python学习日记(四):添加删除空白格

    文章目录 前言 一.制表符 二.换行符 删除空白 总结 前言 在输出端的内容杂乱,想在输出端添加空白怎么办?用制表符或换行符添加空白 一.制表符 空白泛指任何非打印字符,使用空格符字符组合\t,在写程 ...

  3. Krpano学习:在javascript中动态添加/删除/修改(位置)热点(向后端写入)

    作为管理员,在管理全景时会涉及到各个标签的操作,本篇文章介绍在JS中对热点的操作,其数据可传到后端并写入数据库. 首先先给一个在xml文件中的动态热点添加的方法,下面的代码直接把两个url图片换了就可 ...

  4. sql server php删除,使用 SQL Server 添加删除修改查询储存过程

    --添加 create procedure usp_add ( @table nvarchar(255), @values nvarchar(max)=null ) as declare @sql n ...

  5. Python学习笔记之列表(一)

    1.什么是列表: 列表由一系列按特定顺序排列的元素组成,列表包含多个元素,通常给列表定义名称都为users,或者userList,复数或者是列表的命名来指定名称. 在Python中,用方括号([])来 ...

  6. Python学习笔记:列表、字典与集合解析(List, Dict and Set Comprehensions)

    Python学习笔记:列表.字典与集合解析(List, Dict and Set Comprehensions) 1.列表解析 最受喜爱的Python语言特性.过滤一个集合的元素生成一个新的列表. 一 ...

  7. Python学习笔记之列表(三)

    1.组织列表:一个列表往往是无序的,需要我们去排序组织这个列表,Python提供了一些排序组织的方法,下面就来介绍一下吧. (1).sort()方法对列表进行永久性的排序:如果需要按字母反顺序来排序的 ...

  8. python列表去重函数_对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import t ...

  9. python字典键盘添加元素_对python字典元素的添加与修改方法详解

    1.字典中的键存在时,可以通过字典名+下标的方式访问字典中改键对应的值,若键不存在则会抛出异常.如果想直接向字典中添加元素可以直接用字典名+下标+值的方式添加字典元素,只写键想后期对键赋值这种方式会抛 ...

最新文章

  1. VMware workstation安装
  2. python图像验证码识别_python 简单图像识别--验证码
  3. IOS开发之----异常处理
  4. 第一批 | Share·2015产品经理O2O论坛免费票发放啦!
  5. 波形捕捉:(2)创建捕捉设备对象
  6. ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试
  7. 面试题如何实现一个IOC容器
  8. 安装redis提示[test] error 2_技术干货分享:一次flask+redis的微服务实战
  9. python pso_利用python实现PSO算法优化二元函数
  10. python编程(深拷贝和浅拷贝)
  11. [翻译]架构师应该知道的97件事_03关键问题可能不是出在技术上
  12. 锁定计算机还能远程控制,我的电脑可能被远程控制
  13. 苹果说全是假的,市面不存在原装贴膜
  14. 如何下载Eclipse?
  15. cas246516-15-4|1-羧戊基-2,3,3-三甲基吲哚-5-硫酸钾花菁染料-齐岳生物
  16. linux查看蓝牙驱动版本号,linux蓝牙驱动代码阅读笔记
  17. What Is ISO 26262? Overview and ASIL
  18. libcurl入门之http通信(2)
  19. step 文件在sw怎么编辑_SolidWorks如何编辑STEP文件?
  20. 用计算机拆分字体,轻松实现Word文字分家(即打散文字,拆偏旁部首) -电脑资料...

热门文章

  1. 新手入门需要知道的Flutter基础
  2. PlayStation Classic由开源PCSX模拟器提供支持
  3. 信用卡客户风险评估-聚类分析实验报告(python)
  4. BZOJ3521: [Poi2014]Salad Bar
  5. LTE Cognitive Femtocell scenario
  6. 华米科技的2S+OS时代
  7. python编程设计高级_Python编程高级技巧| 选择好的名称
  8. MyEclipse2014下载地址
  9. A Generalized Deep Learning Approach for Evaluating Secondary Pulmonary Tuberculosis...论文总结
  10. 多媒体计算机技术论文结束语,多媒体计算机技术教学论文