Python学习笔记5-元组Tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的
元组是用圆括号括起来的,其中的元素之间用逗号隔开
>>> t = 123,'abc',["come","here"] >>> t (123, 'abc', ['come', 'here'])
>>> type(t)
<type 'tuple'>
索引和切片
因为前面有了关于列表和字符串的知识,它们都是序列类型,元组也是。因此,元组的基本操作就和它们是一样的。
>>> t (1, '23', [123, 'abc'], ('python', 'learn')) >>> t[2] [123, 'abc'] >>> t[1:] ('23', [123, 'abc'], ('python', 'learn')) >>> t[2][0] #还能这样呀,哦对了,list 中也能这样 123 >>> t[3][1] 'learn'
Python在显示只有1个元素的tuple时,也会加一个逗号,
以免你误解成数学计算意义上的括号。
>>> a = (3) >>> type(a) <type 'int'> >>> b = (3,) >>> type(b) <type 'tuple'>
所有在 list 中可以修改 list 的方法,在 tuple 中都失效。分别用 list()和 tuple()能够实现两者的转化:
>>> t (1, '23', [123, 'abc'], ('python', 'learn')) >>> tls = list(t) #tuple-->list >>> tls [1, '23', [123, 'abc'], ('python', 'learn')] >>> t_tuple = tuple(tls) #list-->tuple >>> t_tuple (1, '23', [123, 'abc'], ('python', 'learn'))
List和Tuple的区别:
• Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。
• 如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。
• Tuples 可以在 dictionary(字典,后面要讲述) 中被用做 key,但是 list 不行。Dictionary key 必须是不可变的。Tuple 本身是不可改变的,但是如果您有一个 list 的 tuple,那就认为是可变的了,用做 dictionary key 就是不安全的。只有字符串、整数或其它对 dictionary 安全的 tuple 才可以用作 dictionary key。
• Tuples 可以用在字符串格式化中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了