list和tuple非常类似,只不过tuple不能在原处修改并且通常使用圆括号
tuple:简单的对象组合
list:随时间改变的数据结构
为什么有了list还要tuple
tuple不可变提供某种完整性,类似于其他语言中的常量
赋值生产引用而不是拷贝
赋值操作总是存储对象的应用,而不是这些对象的拷贝
如果不想赋值时引用对象,需要明确告诉python复制该对象
a=b.copy()
循环数据结构
如果遇到一个副核对下包含指向自身的引用,就称之为循环对象,无论何时python在对象中检测到循环,都会打印成[…],而不会陷入无限循环
应用:
1、写一个表达式,修改元组中第一个元素,在此过程中,(4,5,6)应该变成(1,5,6)
>>> t=(4,5,6)
>>> t
(4, 5, 6)
>>> t[0]
4
>>> t[0]=1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t=(1,)+t[1:]
>>> t
(1, 5, 6)
>>>