苦练Python第23天:元组秘籍与妙用

苦练Python第23天:元组秘籍与妙用

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到《100天Python》第23天!

今天我们深入探索元组(tuple) ------Python 里列表的"不可变兄弟"。如果你已经玩转了列表,那么掌握元组只需十分钟,但何时使用它才是让代码更简洁、更安全、更高效的关键。让我们开卷!🐍


📦 今日知识清单

  • 元组是什么,与列表有何不同
  • 创建与访问元组的正确姿势
  • 何时该用元组而非列表
  • 真实场景案例
  • 元组黑科技:拆包、交换、多值返回

🧱 什么是元组?

元组 是一个有序 且不可变 的集合。

也就是说,你可以像列表一样索引,但创建后不能修改任何元素。

🔹 语法

python 复制代码
my_tuple = (1, 2, 3)

看起来和列表相似,只是用圆括号 ()代替方括号[]。


🔍 元组 vs 列表

特性 列表 [] 元组 ()
可变性 ✅ 可变 ❌ 不可变
速度 略慢 ✅ 略快
是否可哈希 ❌ ✅
典型场景 动态数据 固定数据

🛠 创建元组

1. 基础写法

python 复制代码
person = ("Alice", 30, "Engineer")

2. 省略括号(Python 允许)

python 复制代码
coordinates = 10, 20

3. 单元素元组(必须带逗号!)

python 复制代码
single = (42,)        # ✅ 元组
not_a_tuple = (42)    # ❌ 只是整数

🎯 访问元素

索引与切片语法与列表一致:

python 复制代码
colors = ("red", "green", "blue")
print(colors[0])      # red
print(colors[-1])     # blue
print(colors[1:3])    # ('green', 'blue')

❌ 不可变特性

一旦创建,无法增删改:

python 复制代码
colors[0] = "yellow"
# TypeError: 'tuple' object does not support item assignment

✅ 何时使用元组

  • 固定数据集:如 (纬度, 经度)
  • 函数多值返回:优雅地一次返回多个结果
  • 字典键:仅可哈希类型可用
  • 性能优化:迭代速度略胜列表
  • 数据安全:防止误改

🧪 真实场景示例

1. 多值返回

python 复制代码
def get_user():
    return ("Alice", 25)

name, age = get_user()
print(name, age)     # Alice 25

2. 坐标存储

python 复制代码
point = (10.5, 20.3)

无需额外字段名,x 与 y 含义天然对应。


3. 作为字典键

python 复制代码
location_data = {
    (28.6139, 77.2090): "Delhi",
    (40.7128, -74.0060): "New York"
}

列表不能充当键,而元组可以。


🪄 元组黑科技

1. 拆包赋值

python 复制代码
name, age, city = ("John", 30, "Paris")

2. 变量交换(Pythonic)

python 复制代码
a, b = 5, 10
a, b = b, a

3. 嵌套元组

python 复制代码
matrix = ((1, 2), (3, 4))
print(matrix[1][0])   # 3

✅ 速览总结

  • 元组:有序、不可变、轻量、安全
  • 创建:(item,) 注意逗号
  • 访问:索引、切片、拆包
  • 场景:固定数据、函数多值返回、字典键、性能敏感区
  • 技巧:拆包、交换、嵌套

最后感谢阅读!欢迎关注我,微信公众号 :倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

相关推荐
康小汪10 分钟前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机33 分钟前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
曲径海盗34 分钟前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
武天旭35 分钟前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南1 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术1 小时前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API1 小时前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫
在世修行1 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
znnnk1 小时前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle
深蓝AI1 小时前
网站正在对 AI Agent 集体关门:亚马逊封锁 Muse、银行拒绝登录,开发者怎么活下去
人工智能