<返回更多

python基础知识,元祖是什么?元祖的结构?

2019-09-26    
加入收藏

1.元组类型简介

使用括号包围的数据结构是元组(tuple)。例如:

1 >>> (1,2,3)
2 (1, 2, 3)
3
4 >>> T = (1,2,3,)
5 >>> T
6 (1, 2, 3)

元组和列表一样,都是容器型的数据结构,且都是序列,所以容器中的元素都是按照索引位置有序存放的。所以,可以进行索引取值、切片等序列通用操作。

不同的是,元组是不可变序列,无法原处修改,意味着修改元组必须创建新的元组对象。实际上元组的概念来源于数学,在关系型数据库中用来表示一行数据对象,而行数据对象是固定不变的完整、稳定结构,Python的元组也一样隐含的是完整性、稳定性。

python基础知识,元祖是什么?元祖的结构?

 

我是一名python开发工程师,整理了一套python的学习资料,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习、面试真题等。想要的可以进群:688244617免费领取。不可变序列同样意味着可以使用hash()内置函数进行hash,也就是说它是hashable的。

hashable的类型是稳定的数据,可以放在一些需要稳定结构的地方,比如Set、dict的key,它们内部都是通过hash后的数据存放的。hashable意味着不同对象的hash值不同。比如类的实例对象全都是不同的,之所以不同是因为它们默认就是hashable的,不同对象的hash值不同。

2.元组的结构

元组可以看作是不可变的列表。它们的结构非常类似,都是在容器中存放元素的引用地址。

它的结构图如下:

python基础知识,元祖是什么?元祖的结构?

 

因为元组是不可变对象,所以修改元组数据会报错。也就是说,元组中的保存的引用地址是不可变的。

1 >>> T = (1111,2222,3333,4444)
2
3 >>> T[0] = 11111
4 Traceback (most recent call last):
5 File "<stdin>", line 1, in <module>
6 TypeError: 'tuple' object does not support item assignment

觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>