读书人

python很小的一个有关问题关于tuple

发布时间: 2013-09-06 10:17:17 作者: rapoo

python很小的一个问题关于tuple
tuple是不能改的吗?但是我试验过可以改掉内容啊。。。
比如定义个tuple (a,b)=(1,2)
然后给a,b重新赋值,打出来(a,b)就不再是(1,2)了啊
还是tuple不能改的含义是不能改变长度而不是内容。。。
望能理解
[解决办法]
你也知道是给a,b重新赋值了,再打印出来当然变了
实际上应该这么看


>>> (a,b)=(1,2)
>>> (a,b)
(1, 2)
>>> (a,b)[0]
1
>>> (a,b)[0]=5
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>

[解决办法]
然后给a,b重新赋值,打出来(a,b)就不再是(1,2)了啊
----------------------
重新赋值就是另一个tuple了,由于前一个tuple没有赋值给某个变量,相当于用完就丢弃了
[解决办法]
别说a,b的值变了,就是a,b的值没变,你重新写了一遍(a,b)就已经是一个新的tuple了,根本不是在改变原来的tuple。

In [17]: (1, 2) is (1, 2)
Out[17]: False


正确的理解2楼已经说了。

读书人网 >perl python

热点推荐