纠结的元组到底可变不可变
>>> x = (1,2,3)
# 元组中的元素不可修改
>>> x[0] = 4
Traceback (most recent call last):
File "
x[0] = 4
TypeError: 'tuple' object does not support item assignment
>>> x = ([1,2],3)
# 不能修改元组中的元素值
>>> x[0] = [3]
Traceback (most recent call last):
File "
x[0] = [3]
TypeError: 'tuple' object does not support item assignment
>>> x
([1,3)
>>> x[0] = x[0] + [3]
Traceback (most recent call last):
File "
x[0] = x[0] + [3]
TypeError: 'tuple' object does not support item assignment
>>> x
([1,3)
# 这里有个坑,虽然显示操作失败了,但实际上成功了
>>> x[0] += [3]
Traceback (most recent call last):
File "
x[0] += [3]
TypeError: 'tuple' object does not support item assignment
>>> x
([1,3],3)
>>> x[0].append(4)
>>> x
([1,3,4],3)
# y和x[0]指向同一个列表,通过其中一个可以影响另一个
>>> y = x[0]
>>> y += [5]
>>> x
([1,4,5],3)
# 执行完下面的语句,y和x[0]不再是同一个对象
>>> y = y + [6]
>>> x
([1,3)
>>> y
[1,5,6]
---------------------
作者:dongfuguo
来源:CSDN
原文:https://blog.csdn.net/dongfuguo/article/details/53968555
版权声明:本文为博主原创文章,转载请附上博文链接!