当前位置: 首页 > news >正文

佛山网站架设360线上推广

佛山网站架设,360线上推广,dede页码的调用 网站,国内人做韩国网站一般都卖什么手续Python自学09-常用数据结构之元组 🐍 前言 在 Python 的数据结构家族中,**元组(Tuple)**常常被误解为“跟列表差不多,只是不能改”。 但真相是——元组的不可变性,不只是“锁住”数据,它在数据安…

Python自学09-常用数据结构之元组

🐍 前言

在 Python 的数据结构家族中,**元组(Tuple)**常常被误解为“跟列表差不多,只是不能改”。

但真相是——元组的不可变性,不只是“锁住”数据,它在数据安全、性能优化、代码语义等方面,都有着不可替代的作用。

今天我们就来一次全方位的元组拆解,让你彻底搞懂它的用法与应用场景。

img


1️⃣ 元组是什么?

定义

  • 元组是有序不可变的元素集合。
  • 用圆括号 () 或内置函数 tuple() 创建。
  • 支持不同类型元素混合存储

示例:

# 创建元组
t1 = (1, 2, 3)
t2 = ("Python", True, 3.14)
t3 = tuple([1, 2, 3])  # 由列表转换

2️⃣ 元组 VS 列表

特性元组(tuple)列表(list)
可变性❌ 不可变✅ 可变
性能✅ 更快(内存小)❌ 相对较慢
适用场景不希望被修改的数据需要频繁修改的数据
语义表达固定结构数据动态数据集合

💡 记忆技巧 列表像“购物车”,随时可增减;元组像“收据”,一旦打印不可更改。

3️⃣ 元组的基本操作

3.1 访问元素

t = ("Python", "Java", "Go")
print(t[0])    # Python
print(t[-1])   # Go

3.2 切片

print(t[0:2])  # ('Python', 'Java')

3.3 解包(Unpacking)

lang1, lang2, lang3 = t
print(lang1, lang2, lang3)  # Python Java Go

3.4 嵌套元组

nested = (1, (2, 3), (4, 5))
print(nested[1][1])  # 3

4️⃣ 元组的高级用法

4.1 多变量赋值

x, y = (10, 20)

4.2 交换变量值

a, b = 1, 2
a, b = b, a

4.3 作为字典的键

coords = {(10, 20): "位置A", (30, 40): "位置B"}
print(coords[(10, 20)])

因为元组不可变,所以可以安全用作字典的键。

4.4 函数返回多个值

def get_point():return (3, 4)x, y = get_point()

5️⃣ 元组的不可变性,真的是绝对的吗?

元组的不可变性指的是元组结构本身不能改,但如果元组里的元素是可变对象(如列表),那个对象依然可以被修改。

t = (1, [2, 3])
t[1].append(4)   # 不会报错
print(t)         # (1, [2, 3, 4])

所以,元组是浅不可变

6️⃣ 性能对比小测试

import timeitlist_test = timeit.timeit(stmt="[1, 2, 3, 4, 5]", number=1000000)
tuple_test = timeit.timeit(stmt="(1, 2, 3, 4, 5)", number=1000000)print("列表耗时:", list_test)
print("元组耗时:", tuple_test)

💡 在多数情况下,元组的创建和访问速度会比列表更快。

📌 总结

  • 核心特性:有序、不可变、可存放不同类型的数据。
  • 适用场景:固定数据结构、多值返回、作为字典键。
  • 性能优势:内存占用更小、访问速度更快。
  • 注意事项:内部可变对象仍可被修改。

🚀 实战建议(来自星哥)

  1. 配置类常量:用元组代替列表存储不会变的常量数据。
  2. 函数返回值:用元组一次性打包多个返回值。
  3. 安全字典键:避免列表当作键引发 TypeError

💬 你在项目中用元组最多的场景是哪里?评论区聊聊,让更多人少踩坑!

http://www.dtcms.com/a/533825.html

相关文章:

  • 网站留言效果怎么做钦州建设银行社招聘网站
  • 浙江建设信息港网站查询开网店如何运营和推广
  • XML 查看
  • 广州网站建设制作wordpress分页上一页
  • 怎么做好邯郸网站建设风铃微网站怎么做
  • 网站建设对标行业分析建设行业的门户网站
  • 城乡住房建设部网站保证金wordpress系统api
  • SZU大学物理1实验报告|电源设计
  • SAP 在生产机维护需传输请求的表
  • 小广告怎么制作seo搜索引擎官网
  • 【Linux kali 更换yum源】
  • huggingface/trl的单卡训练reward model示例
  • 智慧校园集控管理平台解决方案PPT(39页)
  • 网站开发宣传语旅游产品设计方案
  • 东坑网站建设合肥电脑培训
  • 哪些网站做家政推广手机排版软件app
  • 【关于导线的学习】
  • muse cc 做网站贵阳网站建设优化
  • wordpress 企业主体苏州seo服务
  • 怎么查网站外链数微商城系统源码
  • 网站建设方案策划书前言网站建设一个月做十单
  • linux创建网站网站设计行业前景
  • 数字权益市场爆发:如何通过权益数卡选对优质货源
  • 电影网站怎么做优化网站设计项目书
  • 呼市做网站微站网
  • 濮阳做网站的公司有哪些一级a做爰片2202网站
  • 济南专业做网站公司汕头seo网站推广费用
  • 【11408学习记录】考研数学精讲:概率论随机变量与分布函数核心突破
  • 安装部署fastlio2的重定位模块
  • 网站前台 后台陕西省住房和城乡建设厅网站首页