Python

12|元组:保存不应被修改的有序数据

面向按顺序学习 Python 的初学者,本篇在第 11 篇知识上,帮助读者理解元组与列表的使用边界。

◉ 1.2k 字◌ 8 分钟♙ 郑在混

这套课程按知识依赖排列。本篇的前置知识是:第 11 篇。学完后,你应该能够理解元组与列表的使用边界。

本篇要解决的问题

本篇只处理“元组:保存不应被修改的有序数据”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。

先看清一个容易误解的细节

列表与元组的可变性

列表和元组都按顺序保存元素,但元组创建后不能替换其中的位置。不可变表示元组结构不变,不代表元组内部引用的每个对象都一定不可变。

核心概念

  • 元组常用来表达固定数量、固定含义的一组值。
  • 只有一个元素的元组必须保留尾随逗号。
  • 需要频繁增删元素时使用列表,不要为了“更高级”而选择元组。

跟着示例运行

把下面代码保存到本课脚本并运行:

point = (120, 80)
print(point[0])
print(point[1])

single = (5,)
print(single)

预期结果:

120
80
(5,)

输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。

按执行顺序拆开看

  1. point 的两个位置在创建后不能被重新赋值,因此适合表达固定结构的坐标。
  2. (5,) 的逗号决定它是单元素元组;括号本身只起分组作用。

初学者容易混淆的地方

  • (5) 当作元组,实际它仍是整数。
  • 把不可变误解为内部一切都不可变;元组中如果引用列表,列表内容仍可能变化。

练习

  1. 用元组表示宽度和高度。
  2. 比较 (5)(5,) 的类型。

练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。

本篇边界

本篇目标是理解元组与列表的使用边界。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。

相关文章

© 2026 郑在混知识库 · 已运行 46 天 · 豫ICP备2026037626号-1