Logo

郎哥编程

元组类型

2020-12-17 207

本课介绍Python中的元组类型,课中会讨论元组与列表的区别,元组的创建、赋值及其相关运算。通过本课的学习,可以掌握元组的使用方法。

 元组的创建

元组是不可变序列类型,不支持可变序列类型的更新操作。元组和列表都属于序列对象,元组的英文名称是tuple。

创建一个元组并赋值的语法与列表相同,不同之处是元组使用小括号,列表使用方括号,元素之间也是用英文逗号分隔。需要注意的是,当元组只有一个元素时,需要在元素的后面加一个英文逗号分隔符,以防止与表达式中的小括号混淆。这是因为小括号既可以表示元组,又可以表示表达式中的优先级算符,这就容易产生歧义。

06.png

案例01演示了如何创建元组对象。

07.png

(1)创建空元组时,小括号内可以不填入任何内容。

(2)创建只有一个元素的元组时,需要在元素的后面加一个英文逗号分隔符,以防止与表达式中的小括号混淆。

(3)创建包含多个元素的元组时,每个元素之间用英文逗号分隔。

(4)创建嵌套元组时,嵌套的元素为元组类型。

 元组的访问

元组的访问和列表相同,可以直接使用索引访问元组中的单个数据项,也可以使用切片运算符(也称为截取运算符)“[:]”访问子元组。

访问运算符包括“[]”和“[:]”运算符,用于访问元组中的单个数据项,或者一个子元组。

08.png

案例02演示如何访问元组的元素。变量名称为s的元组里面又包含了元组元素,当访问内嵌元组元素时,就需要两个索引来访问元组里面的元素。

如s[1][0],s的第一个索引1确定s元组的第一个元组元素的位置,s的第二个索引0确定元组元素的第一个元素96.85。因此s[1][0]访问的是96.85这个元素。

元组的遍历

元组的遍历方式和列表相同,都是使用for循环语句遍历元组的元素。

09.png

案例03的代码演示了如何使用for循环遍历元组。

编程案例

编写一个班级通讯录程序,该程序可以记录每位同学的姓名、电话号码和年龄。

程序要存储通讯录,就需要设计一个存储通讯录的结构。采用列表和元组作为通讯录程序的数据结构,具体数据结构是使用元组存储同学的姓名、电话和年龄,元组作为列表的数据项。

10.png

程序流程图

11.png

12.png

13.png

案例代码

# 班级通讯录程序
# 创建通讯录列表
address_list = []
# 同学数量
count = 3
# 输入每位同学数据
for i in range(1,count+1):
    name = input("请输入第 %d 位同学的姓名:" % (i))
    phone = input("请输入第 %d 位同学的电话:" % (i))
    age = input("请输入第 %d 位同学的年龄:" % (i))
    address_list.append((name,phone,age))
# 输出通讯录
for i in range(0,count):
    addres = address_list[i]
print("序号:%d %s %s %s" % (i+1,addres[0],addres[1],addres[2]))

案例代码首先创建一个空列表address_list,用于存储元组数据项,并创建变量count,用于存储同学数量,为了程序测试方便,count赋值为3。

使用for循环输入学生成绩,循环次数为学生人数加1。在每轮循环中,分别要求用户输入同学的姓名、电话和年龄,address_list调用append方法将输入的同学信息加入元组元素,元组元素在append方法的参数中直接创建。

遍历address_list,在每轮循环中使用当前索引获取元组数据项,输出元组元素。

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论