百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python基础教程-第四讲-列表详解(python基础教程第三版)

off999 2024-10-16 11:19 46 浏览 0 评论

在介绍列表前,我们的先介绍一个关键词:序列。序列是python中最基本的数据结构。所谓的序列,指的是可以连续存放多个值的内存空间,序列中的每个元素都会有一个数字,即它的位置或索引。通过这个索引就能找到序列中的元素 。

在python的序列中,包括列表,字符串,元组,集合和字典。序列支持几个通用的操作,就是可以索引、切片、相加、相乘、检查成员,需要注意的是,集合和字典不支持索引,切片、相加和相乘操作。

序列又包括有序序列和无序序列 。而我们要讲的列表:list就是一种有序的序列 ,可以对其中元素进行增删改查。

创建列表

创建列表有两种方式:分别是通过[]中添加元素和list()创建 。

通过[]创建时,列表中的每个元素需要通过逗号隔开。列表中的每个元素可以是整数、字符串、布尔值,空值、列表、元组等任意一种数据类型。

lst1 = ['red',10,12.3]
lst2 = ['blue', None,True,['a','b'],('abc',123)]
print(lst1)
print(lst2)

运行结果

['red', 10, 12.3]
['blue', None, True, ['a', 'b'], ('abc', 123)]

我们还可以通过list()方法创建列表,如下

lst3 = list()           #创建了一个空列表
lst4 = list(['green',10,12.3])
print(lst3)
print(lst4)

运行结果

[]
['green', 10, 12.3]

访问列表

访问列表的元素可以通过下标(也叫索引),默认下标从0开始递增,也就是从左往右递增。当然也可以从右向左计数,这样的话最后一个元素就是从-1开始,依次类推。这也是序列中的一个特性 。

lst = ['red', 10, 12.3]
print("第一个元素:",lst[0])  #输出:red
print("第三个元素:",lst[-1]) #输出12.3

以下是列表中通过下标访问元素的示意图。

以上只是访问列表中某一个元素,那如果我想访问列表中多个元素,那就可以使用序列的另一个特性:切片。切片操作相当于是在列表中访问一定范围的元素,通过切片操作,其实相当于返回了一个新列表 ,这个列表是原来列表的子集。

切片的语法格式如下:

lst[start:end:step] 
  • lst:表示列表的名称;
  • start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,默认为 0,也就是从列表的开头进行切片;
  • end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为列表的长度,注意end不能超过列表的长度,否则会报错;
  • step:表示切片的步长,如果 step 的值大于 1,则在进行切片操作时,会“跳跃式”的取元素。如果省略设置 step 的值,step的值就为1,则最后一个冒号就可以省略。
lst5 = ['red','green','blue','black','gold','orange']
print("获取第2-5个元素:",lst5[1:5])       #有start,end,没有step,默认为1
print("获取第2,4,6个元素:",lst5[1:6:2])   #从第2个元素到第7个元素,遵循左臂右开原则,不包括第7个
print("获取第1,3,5个元素:",lst5[::2])     #步长为2
print("获取第3个及后面的元素:",lst5[2:])
print("将列表翻转:",lst5[::-1])

运行结果:

获取第2-5个元素: ['green', 'blue', 'black', 'gold']
获取第2,4,6个元素: ['green', 'black', 'orange']
获取第1,3,5个元素: ['red', 'blue', 'gold']
获取第3个及后面的元素: ['blue', 'black', 'gold', 'orange']
将列表翻转: ['orange', 'gold', 'black', 'blue', 'green', 'red']

更新列表

列表更新包括:

  • 修改列表中某一个元素的值,通过列表下标直接赋值 。
  • 向列表中插入一个元素,通过list.insert(index, obj)方法,可以向列表的某一个位置插入元素
  • 向列表中追加一个值,通过list.append(obj)方法,添加的元素将放到列表的最后。
  • 向列表中追加多个值 ,通过list.extend(seq)方法,将添加的值放到列表的最后。extend()方法要传入一个序列 。
# 列表更新
# 1) 更新列表中某一个元素
lst6 = ['red','green','blue']
lst6[1] = 'yellow'
print("更新元素后的列表:",lst6)

# 2) 向列表中位置3插入一个元素
lst6.insert(2,'cream')
print("插入元素后的列表:",lst6)

# 3) 向列表追加一个元素
lst6.append('gunmetal')
print("追加元素后的列表:",lst6)

# 4) 向列表追加多个元素
lst6.extend(["sand","stone","wine"])
print("向列表中追加三个元素:",lst6)

运行结果

更新元素后的列表: ['red', 'yellow', 'blue']
插入元素后的列表: ['red', 'yellow', 'cream', 'blue']
追加元素后的列表: ['red', 'yellow', 'cream', 'blue', 'gunmetal']
向列表中追加三个元素: ['red', 'yellow', 'cream', 'blue', 'gunmetal', 'sand', 'stone', 'wine']

删除列表

删除列表也可以包括:

  • 移除列表中某一个元素,通过list.pop(index=-1))方法,并且返回该元素的值。不指定索引返回最后一个值。
  • 移除列表中某个值的第一个匹配项,list.remove(obj)
  • 清空列表内的所有元素,list.clear()
  • 删除列表,del lst_name
lst7 = ['red', 'yellow', 'cream', 'blue', 'gunmetal']
lst7.pop(1)
print("删除第二个元素后的列表:",lst7)
lst7.remove('blue')
print("删除元素blue后的列表:",lst7)
lst7.clear()
print("清空列表中所有的元素:",lst7)
del lst7        #使用del后列表将被删除,所以无法打印

运行结果

删除第二个元素后的列表: ['red', 'cream', 'blue', 'gunmetal']
删除元素blue后的列表: ['red', 'cream', 'gunmetal']
清空列表中所有的元素: []

其它操作

除了以上对列表的操作外,我们还可以通过序列中的特性,如相加、相乘、检查成员对列表进行操作

列表相加相乘

#列表相加,相乘
a_list = ['abc']
b_list = ['xyz']
c_list = a_list + b_list
print("两个列表相加后产生的新列表:",c_list)
print("列表a_list乘3后产生的新列表:",a_list*3)

运行结果:

两个列表相加后产生的新列表: ['abc', 'xyz']
两个列表相乘后产生的新列表: ['abc', 'abc', 'abc']

检查列表中的元素

检查列表是否存在某个元素可以in关键字 ,同理也可以not in检查元素不在列表中,他们返回的结果是boolean值。

lst8 = ['red', 'yellow', 'cream', 'blue', 'gunmetal']
print("检查列表lst8中是否包含blue元素:",'blue' in lst8)
print("检查列表lst8中是否不包含black元素:",'blac' not in lst8)

运行结果:

检查列表lst8中是否包含blue元素: True
检查列表lst8中是否不包含black元素: True

总结

列表是Python中的一个重要知识点,使用python的朋友基本都会和它打交道。而以上那么多对列表的操作方法又不容易记,故将所有对列表的操作的方法都整理到一个表中,方便查阅。

相关推荐

戴尔官方商城官网(戴尔官方商城官网首页)

https://www.dell.com/戴尔公司于1992年进入《财富》杂志500强之列,戴尔因此成为其中最年轻的首席执行官。戴尔公司名列《财富》杂志500强的第48位。自1995年起,戴尔公司一直...

ghost64位(一键还原ghost)

步骤如下:  1、首先登陆微软官网(点击进入),根据自己电脑的需求下载IE11forWin7的对应版本(这里强调IE11forWin7只针对Win7SP1或以上系统);  2、选择对应的IE...

ie8 ie10浏览器手机版下载(ie8_11浏览器安卓手机版)

进入出现提示的网页,点击IE11右边的齿轮,再选添加到兼容性视图列表。网页会刷新一下,就变成IE7方式打开了。试试看。如果你无法下载文件,这个时候你可以把电脑重新启动一下,然后清理一下内存,再打开I...

手机破解qq空间相册的方法(手机怎么破解qq空间相册视频教学)

没有什么办法,你可以直接询问她吧,既然分手了就不要再纠缠了最好。QQ空间解锁步骤:1、登陆QQ空间,在右上角找到“设置”,把鼠标青放在设置上,不要点击,出现“帮助中心”。2、然后点击“帮助中心”,就会...

纯净版的win7旗舰版(win7的纯净版和旗舰版有什么区别)

win7系统纯净版,旗舰版并不是同一类概念。主要区别如下:纯净版是win7ghost版本的一种类型,是指该系统就是纯粹的win7系统,未包含任何第三方软件;而旗舰版是win7系统的官方划分的一种类型...

免费企业邮箱来一个(申请免费的企业邮箱)
免费企业邮箱来一个(申请免费的企业邮箱)

1.首先,我们登录我们的QQ,然后点击QQ上方的小邮件标识;2.弹出的界面,我们点击下方的企业邮箱;3.弹出的界面,我们点击开通邮箱;4.弹出的界面,我们点击免费版的立即开通;5.然后我们输入相关的信息,最后点击注册;6.最后就注册完成了。...

2025-12-24 02:51 off999

怎么更新win11(怎么更新win11补丁最快)

要更新电脑系统到Windows11,需要满足一定的硬件要求。首先,你需要确保你的电脑符合以下最低硬件要求:-64位处理器或系统架构-4GBRAM-64GB存储空间-DirectX12兼容显卡...

cpu温度过高原因(cpu温度太高怎么回事)

cpu温度过高的原因  1.CPU风扇散热不行。CPU风扇与CPU接触不完全,CPU风扇转速过低,风扇质量不过关,这都是造成CPU温度过高的原因。  2.系统使用CPU占用率100%。系统垃圾过多,开...

该内存不能为read不显示桌面

运行输入msconfig回车,打开系统配置实用程序,在启动项目中查找一个名为“开机提示出现错误的程序”,如果有将它前面的钩去掉,然后按应用确定。  如果故障依旧,建议先查杀一下木马,修复一下系统试试...

命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
  • 命令激活win10专业版(cmd命令激活win10专业版)
官方网站注册(playstation官方网站注册)
官方网站注册(playstation官方网站注册)

要注册快手网站,首先需要下载并安装快手APP,然后选择注册账号。注册时需要填写手机号码并验证,然后设置用户名和密码。在注册过程中还需要设置头像和填写个人信息,确保信息真实有效。注册完成后,可以开始使用快手APP,浏览、上传视频、与其他用户互...

2025-12-24 00:03 off999

手机照片删除恢复软件免费版

手机照片误删怎么办?在我们日常生活中经常会用到截屏或者相机,我们保存有意义的图片的同时也会留下许多垃圾图片,时间长了,再想清理很容易就会误删手机照片,那么手机照片误删该怎么办呢?今天就给大家分享几个找...

如何在国内使用gpt(如何在国内使用推特)

需要具备以下两个条件,才能使用gpt35国内版:1.购买相关许可证:gpt35国内版是需要购买相应的许可证才能使用的,需要联系属于该软件产品的销售方,获取合法的许可证。2.安装环境的配备:gpt3...

台式电脑怎么连接网络宽带(台式电脑怎样连接宽带连接)
  • 台式电脑怎么连接网络宽带(台式电脑怎样连接宽带连接)
  • 台式电脑怎么连接网络宽带(台式电脑怎样连接宽带连接)
  • 台式电脑怎么连接网络宽带(台式电脑怎样连接宽带连接)
  • 台式电脑怎么连接网络宽带(台式电脑怎样连接宽带连接)
google加速器(google加速器官网)

需要加速器的。手机谷歌浏览器需要加速器。要运行谷歌浏览器还需要在手机上下载安装一个加速器。谷歌浏览器是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升...

取消回复欢迎 发表评论: