💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
- 导航
- 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
- 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
- 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
- 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
- 1.引言
- 2.元组的定义与创建
- 3.元组的特点
- 4.元组的操作
- 5.元组与列表的转换
- 6.元组的应用场景
- 7.元组与列表的性能比较
- 8.元组的高级用法
- 9.低级 BUG
1.引言
在 Python 中,元组(Tuple)是一种非常基础且常用的数据结构,它与列表(List)类似,但元组是不可变的。这意味着一旦元组被创建,就不能对其进行修改,比如添加、删除或更改元素。这种不可变性使得元组在某些情况下比列表更加安全和高效。
2.元组的定义与创建
元组可以通过圆括号()
来定义,也可以省略括号直接使用逗号,
。下面展示了两种创建元组的方法:
# 使用圆括号创建元组
tup1 = (1, 2, 3)
# 省略圆括号直接使用逗号创建单元素元组
tup2 = 4,
3.元组的特点
- 不可变性:一旦创建,元组中的元素就不能被修改。
- 索引:元组支持索引,可以通过索引访问元组中的元素。
- 切片:元组支持切片操作,可以获取元组的一部分。
- 可迭代:元组是可迭代的,可以用于
for
循环中。 - 散列性:由于元组是不可变的,它们是可哈希的,可以作为字典的键。
4.元组的操作
虽然元组不可变,但 Python 提供了一些内置的方法来操作元组:
len(tup)
:获取元组的长度。tup[index]
:获取元组中指定索引的元素。tup[start:end]
:获取元组中的一部分,即切片操作。
5.元组与列表的转换
元组和列表之间可以相互转换:
- 使用
list()
函数可以将元组转换为列表。 - 使用
tuple()
函数可以将列表转换为元组。
# 将元组转换为列表
list1 = list(tup1)
# 将列表转换为元组
tup3 = tuple(list1)
6.元组的应用场景
由于元组的不可变性,它通常用于以下场景:
- 函数返回多个值:Python 函数可以返回元组,这样就可以一次返回多个值。
- 作为字典的键:由于元组是不可变的,它可以用作字典的键。
- 存储配置数据:当需要存储一些不应改变的数据时,使用元组可以保证数据的安全性。
7.元组与列表的性能比较
在某些情况下,元组的性能要优于列表,尤其是在创建大量数据时。由于元组是不可变的,Python 解释器可以对元组进行一些优化,比如:
- 元组的内存分配是一次性的,而列表在添加元素时可能需要多次内存分配。
- 元组的哈希值在创建时就计算并存储,而列表则需要在需要时计算。
8.元组的高级用法
虽然元组看起来简单,但它也有一些高级用法,比如:
- 嵌套元组:元组中可以包含其他元组,形成嵌套结构。
- 多返回值:函数可以返回一个包含多个元素的元组。
- 解包:Python 支持元组的解包,可以将元组中的元素直接赋值给多个变量。
# 函数返回多个值
def get_user_info():
return ("Alice", 30, "Engineer")
# 使用解包获取返回值
name, age, job = get_user_info()
9.低级 BUG
在开发过程中,不要随意在结尾写逗号,不然会出现莫名其妙的 bug
t = 1,
s = 1
print(type(t))
print(type(s))
<class ‘tuple’>
<class ‘int’>
觉得有用的话点个赞
👍🏻
呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙