首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2013-09-06 
python很小的一个问题关于tupletuple是不能改的吗?但是我试验过可以改掉内容啊。。。比如定义个tuple(a,b)(1

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楼已经说了。

热点排行