购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.5 认识元组

元组与列表类似,也是由一系列按特定顺序排列的元素组成,元素的个数、类型不受限制,但它里面的元素是不能修改的,也就是说元组不支持添加元素、删除元素、修改元素等操作。本节将对元组的创建方式以及元素的访问进行介绍。

4.5.1  元组的创建方式

元组的创建方式与列表的创建方式相似,元组可以通过圆括号“()”或内置的tuple()函数快速创建。

1.使用圆括号“()”创建元组

使用圆括号“()”创建元组,“()”中可以包含零个、一个或多个元素,多个元素之间使用逗号进行分隔。示例代码如下:

注意: 当使用圆括号“()”创建元组时,如果元组中只包含一个元素,则需要在该元素的后面添加逗号,保证Python能够正确识别其为元组类型。

2.使用tuple()函数创建元组

使用tuple()函数创建元组时,如果不向该函数中传入任何参数,就会创建一个空元组;如果要创建包含元素的元组,就必须传入可迭代对象。示例代码如下:

运行代码,结果如下:

4.5.2  访问元组元素

Python中可以通过索引或切片的方式来访问元组中的元素,具体用法与列表相同。

1.使用索引访问单个元素

使用索引可以访问元组中指定位置的元素。示例代码如下:

运行代码,结果如下:

2.使用切片访问元组元素

使用切片可以访问元组中的部分元素。示例代码如下:

以上代码首先创建一个包含 5 个元素的元组,然后使用切片截取了索引 1 到索引 4 之前的元素。

运行代码,结果如下:

多学一招:元组是“不可变”的

元组中的元素是不允许被修改的,除非在元组中包含可变类型的数据。例如,创建一个包含 3 个不可变类型元素的元组,并尝试修改第一个元素的值。示例代码如下:

运行代码,出现如下所示的报错信息:

若元组中的某个元素是可变类型的数据,如列表,则此时可以将列表中的元素进行修改。示例代码如下:

上述代码中,首先创建了一个包含 3 个元素的元组,其中第三个元素是一个列表,然后通过索引先从元组中获取列表,再通过索引获取列表中索引为 0 和 1 的元素并重新赋值,最后输出元组。

从输出结果可以看出,元组嵌套的列表中的两个元素由'1'和'2'修改为'c'和'd'。

下面通过一张示意图对比元组修改前后的效果,如图4-3 所示。

图4-3 元组修改前后的效果

从表面上看,元组的元素发生了变化,但其实变化的不是元组的元素,而是列表的元素。元组最初指向的列表并没有改成别的列表,因此元组所谓的“不变”意为元组每个元素的指向永远不变。换句话说,元组最初指向a,就不能改成指向b;指向一个列表a,就不能改成指向其他列表b,但指向的这个列表本身是可变的。

运行代码,结果如下:

4.5.3  实例5:中文数字对照表

阿拉伯数字因其具有简单易写、方便使用的特点成了最流行的数字书写方式,但在使用阿拉伯数字计数时,可以对某些数字不漏痕迹地修改成其他数字。例如,将数字“1”修改为数字“7”,将数字“3”修改为数字“8”。为了避免引起不必要的麻烦,可以使用中文大写数字如壹、贰、叁、肆……替换阿拉伯数字,替换规则如图4-4 所示。

图4-4 中文与阿拉伯数字替换规则

代码

中文数字对照表

本实例要求编写程序,实现将输入的阿拉伯数字转为中文大写数字的功能。扫描二维码,可查看参考代码。 TLPF+zernA8yUq5nDA53gPlJ/f/EMzbT8TnVdP23dxLGeOfQtv53rWVcxAHEUKiK

点击中间区域
呼出菜单
上一章
目录
下一章
×