wordpress网站刷新,月夜影院,合同管理软件,网站后台管理系统 源码Python 中的数据结构是通过某种方式组织在一起的数据元素的集合#xff0c;这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中#xff0c;最基本的数据结构是序列#xff08;在前面文章我们也说过序列#xff09;#xff0c;序列中的每个元素都有一个序…
Python 中的数据结构是通过某种方式组织在一起的数据元素的集合这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中最基本的数据结构是序列在前面文章我们也说过序列序列中的每个元素都有一个序号元素的具体位置这个序号叫索引索引下标从0开始以此类推......Python 的元组与列表类似不同之处在于元组的元素不能修改。 tuple 元组
tuple和list非常类似但是tuple一旦初始化就不能修改比如同样是列出名字 classmates (刘旺, 学长, allen)
现在classmates这个tuple不能变了它也没有append()insert()这样的方法。其他获取元素的方法和list是一样的你可以正常地使用classmates[0]classmates[-1]但不能赋值成另外的元素。
不可变的tuple有什么意义因为tuple不可变所以代码更安全。如果可能能用tuple代替list就尽量用tuple。
tuple的陷阱当你定义一个tuple时在定义的时候tuple的元素就必须被确定下来比如 t (1, 2)t
(1, 2)
如果要定义一个空的tuple可以写成() t ()t
()
但是要定义一个只有1个元素的tuple如果你这么定义就错 t (1)t
1
定义的不是tuple是1这个数这是因为括号()既可以表示tuple又可以表示数学公式中的小括号这就产生了歧义因此Python规定这种情况下按小括号进行计算计算结果自然是1。
所以只有1个元素的tuple定义时必须加一个逗号,来消除歧义 t (1,)t
(1,)
Python在显示只有1个元素的tuple时也会加一个逗号,以免你误解成数学计算意义上的括号。
最后来看一个“可变的”tuple t (a, b, [A, B])t[2][0] Xt[2][1] Yt
(a, b, [X, Y])
这个tuple定义的时候有3个元素分别是ab和一个list。不是说tuple一旦定义后就不可变了吗怎么后来又变了
别急我们先看看定义的时候tuple包含的3个元素 当我们把list的元素A和B修改为X和Y后tuple变为 表面上看tuple的元素确实变了但其实变的不是tuple的元素而是list的元素。tuple一开始指向的list并没有改成别的list所以tuple所谓的“不变”是说tuple的每个元素指向永远不变。即指向a就不能改成指向b指向一个list就不能改成指向其他对象但指向的这个list本身是可变的
理解了“指向不变”后要创建一个内容也不变的tuple怎么做那就必须保证tuple的每一个元素本身也不能变。 总结
本节给大家介绍了 Python 数据结构之元组的操作与使用对 Python 工程师使用列表提供了支撑。Python的元组与列表类似不同之处在于元组的元素不能修改。元组使用小括号列表使用方括号。元组创建很简单只需要在括号中添加元素并使用逗号隔开即可。
参考:
https://www.liaoxuefeng.com/wiki/1016959663602400/1017092876846880
https://www.runoob.com/python3/python3-tuple.html