纠结的元组到底可变不可变
>>> 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
版权声明:本文为博主原创文章,转载请附上博文链接!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。