文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python列表和元组如何使用

2023-07-04 12:30

关注

这篇文章主要介绍“Python列表和元组如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python列表和元组如何使用”文章能帮助大家解决问题。

列表学习要点

先看一遍列表定义:

列表是可变序列,也是一种可存储任意数据类型的容器,用中括号([])表示开始和结束,内部各元素使用英文逗号(,)分隔,每个元素都可称为项目,并且每个元素都有一个索引,也被称为下标。

列表的声明语法

声明一个列表,可以参考下述几种格式。

使用空中括号 [] 声明一个空列表

my_list = []print(my_list)

声明包含一个元素的列表

my_list = [1]print(my_list)

声明包含多个元素的列表

my_list = [1,2]print(my_list)

声明包含多个不同数据类型元素的列表

my_list = [1,'a',True]print(my_list)

声明一个列表中包含列表

my_list = [1,['a'],[True,1,1]]print(my_list)

列表的读取

读取列表中最重要的概念是下标,也叫做位置或者索引。下标从 0 开始计数,即列表内第一项元素的索引是 0,例如下述代码,读取数字 2。

my_list = [1,2,3,4,5]print(my_list[1]) # 数字2所在的下标为1

列表操作

列表是一个动态容器,其支持对其元素的增加,删除,修改,查询,合并等操作,用到的都是字典对象的方法,基本操作的方法名如下所示:

列表元素添加方法

从上述清单中,可以查看到列表追加元素,有两种办法可以实现,其一是使用 append() 方法,其二是使用 insert() 方法,示例代码如下所示:

my_list = [1,2,3,4,5]my_list.append(888)my_list.insert(1,666)print(my_list)

对比一下上述两个方法的差异,可以看到 append() 仅能在里列表末尾追加元素,而 insert() 方法可以在任意位置插入元素,即 insert() 方法的第一个参数为索引,表示插入位置。

列表元素查找方法

在列表中查找某一元素,使用 index() 方法实现,该方法的语法格式如下所示:

my_list.index(value,[start[,stop]])

其中 my_list 是待查找目标列表,value 表示待查找的值,startstop 为可选参数,表示开始查找的索引值和结束查找的索引值,该方法当查找到元素后,会返回第一个找到的元素索引位置,例如下述代码,会返回 3

my_list = [1,2,3,4,5]ret = my_list.index(4)print(ret)

如果该方法没有在目标列表中找到元素,会报错,错误类型为 ValueError

index() 方法外,列表的读取其实也是元素查找方式,例如读取下标 2 的元素,代码如下:

my_list = [1,2,3,4,5]ret = my_list[2]print(ret)

还可以使用成员运算符 in,对列表进行判断,关于成员操作符的更多知识,后期总结运算符的时候,会详细说明。以下代码会返回 True,即表示数字 2 在列表中。

my_list = [1,2,3,4,5]ret = 2 in my_listprint(ret)

在列表中还有一个重要知识点,即列表切片,学习该知识点需要先牢牢掌握列表按索引读取相关语法,切片的语法格式如下:

my_list = [1,2,3,4,5]ret = my_list[1:3:2]print(ret)

可以看到上述第二行代码,在原列表读取的规则之上,格式变为了 [1:3:2],将其转换为中文语法说明如下所示:

my_list[起始索引:结束索引:步长]

使用切片的时候,英文冒号不能缺少,起始索引为必选项,结束索引和步长为可选项。

如果理解困难,最好的办法就是反复用代码校验。

# 缺省结束索引,默认获取到列表结尾元素my_list = [1,2,3,4,5,6,7,8,9,10]ret = my_list[1:]print(ret) # 输出 [2, 3, 4, 5, 6, 7, 8, 9, 10]# 缺少步长,默认按照索引+1解决,同时不包含结束索引代表的元素my_list = [1,2,3,4,5,6,7,8,9,10]ret = my_list[1:5]print(ret) # 输出 [2, 3, 4, 5]# 步长设置为2,表示索引每次+2my_list = [1,2,3,4,5,6,7,8,9,10]ret = my_list[1:6:2]print(ret) # 输出 [2, 4, 6]

上述代码如何理解已经在注释中进行说明,重点要掌握的切片知识点整理如下:

一首打油诗送给大家~

切片不能丢冒号 结束步长可不要 默认索引都加一 左闭右开要牢记

列表元素的修改和删除

前文已经掌握了列表的读取,将读取到的元素重新赋值就是列表的修改,例如下述代码。

my_list = [1,2,3,4,5,6,7,8,9,10]my_list[1] = 666print(my_list)

列表元素删除 在 Python 中,提出了多种列表元素删除的方式,本小节学习三个列表元素删除的方法,即 clear()pop()remove(),除此之外还可以使用 del() 函数对列表元素进行删除。

my_list = [1,2,3,4,5,6,7,8,9,10]my_list[1] = 666my_list.clear() # 列表清空print(my_list)

使用 pop() 方法删除列表元素,默认从尾部删除,并返回被删除的元素。

my_list = [1,2,3,4,5,6,7,8,9,10]my_list[1] = 666ret = my_list.pop()print(my_list) # 删除最后一项print(ret) # 返回被删除的元素

pop() 方法中可以传递一个 index 值,该值表示下标值,即删除指定位置的元素,与之对应的是 remove() 方法的参数,该值表示待删除的目标元素,例如在列表中删除元素 5,使用的代码如下:

my_list = [1,2,3,4,5,6,7,8,9,10]my_list[1] = 666ret = my_list.remove(5)print(my_list)print(ret)

测试之后,可以发现 remove() 方法无返回值,并且该方法只删除第一个匹配到的元素,也就是当列表中有多个目标元素时,只有最先匹配到的元素被删除。

del() 函数可以删除列表中指定元素,也可以直接删除列表对象,代码如下:

# 删除索引位置为5的元素my_list = [1,2,3,4,5,6,7,8,9,10]my_list[1] = 666del(my_list[5])print(my_list)# 删除整个列表对象my_list = [1,2,3,4,5,6,7,8,9,10]my_list[1] = 666del my_listprint(my_list)

列表元素合并

使用 extend() 方法可以将列表进行合并:

my_list1 = [1,2,3]my_list2 = [666,777,888]my_list1.extend([666,777,888])print(my_list1)

注意 extend() 方法不会生成新的列表。

列表合并也可以使用加号(+) 实现,该语法会产生一个新的列表。

my_list1 = [1,2,3]my_list2 = [666,777,888]my_list = my_list1 + my_list2print(my_list)

列表元素顺序变化

列表排序用到的方法是 sort(),该方法默认按照 ASCII 进行增序或者减序排列,测试代码如下所示:

my_list = [4,1,2,6,7,3,8,12,10]my_list.sort()print(my_list)

sort() 方法中也有 2 个参数,格式如下:

my_list.sort(key=None,reverse=False)

参数 key 为可选参数,可以传入一个函数名,该函数会作用与列表中的每一项元素,例如将列表中每一项元素都转换为小写字母。

my_list = ['ABC','CDS','Juejin','YUE']my_list.sort(key=str.lower)print(my_list)

sort() 方法会对原列表进行排序,如果想生成一个新列表,可以使用 sorted() 函数,代码如下:

my_list = ['ABC','CDS','Juejin','YUE']ret = sorted(my_list)print(ret)

除此之外,还可以使用 reverse() 方法。

my_list = ['ABC','CDS','Juejin','YUE']my_list.reverse()print(my_list)

元组学习要点

元组定义与列表基本一致,只需要做好如下区分即可。

再次进行简单总结:

元组是不可变序列,也是可以包含任意数据类型的容器,用小括号(())表示,元素之间用逗号(,)分隔 。一定要注意的就是不可变序列,不可变的含义是不能对元组进行增加,修改,删除,位置变换等操作。

元组基本知识

声明一个元组

my_tuple = ()print(my_tuple)print(type(my_tuple))

声明一个只包含 1 个值的元组,要求必须带一个逗号,否则会按照整数处理。

my_tuple = (1,)print(my_tuple)print(type(my_tuple))

声明包含多个值的元组:

my_tuple = (1,2,3,4,5,6,[1])print(my_tuple)print(type(my_tuple))

元组的基本操作

由于元组对象的方法使用与列表一致,接下来仅对元组进行罗列。

其余可作用于元组的内置函数如下所示:

关于“Python列表和元组如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯