作者:罗群霞 | 来源:互联网 | 2022-12-02 16:32
以下面的代码为例:
t=(1,2,3)
t+=(4,)
print(t)
打印值为(1,2,3,4).元组t的值是否刚刚改变,这类似于列表对象的append/extend方法?
1> deceze..:
您可以将元组连接成一个新元组.您将t
使用新值替换完全值.您无法修改现有元组.为了显示:
t = (1, 2, 3)
u = t
t += (4,) # shorthand for t = t + (4,)
t == u # False
t is u # False
t
并且u
不再引用同一个对象.
使用可变数据结构,情况并非如此:
t = [1, 2, 3]
u = t
t.append(4)
t == u # True
t is u # True
请注意,列表和元组上的`+ =`运算符的实现是非常不同的.在列表中,`+ =`会改变左侧操作数列表,因此您也可以在第二个示例中使用它而不是`append`.