为了账号安全,请及时绑定邮箱和手机立即绑定

L = T[2]这个不应该是赋值语句么,为什么L中的元素变化,T[2]会跟着变化

T = (1, 'CH', [3, 4])
L = T[2]
print(L) # ==> [3, 4]
# 尝试替换L中的元素
L[1] = 40
print(L) # ==> [3, 40]
print(T) # ==> (1, 'CH', [3, 40])


正在回答

1 回答

[3,4]为list,为引用类型,当其他变量赋其值的时候,赋的其实是他的一个内存地址,指向[3,4],当其他变量进行索引赋值,直接导致内存中的list改变。也就是你所说的L和T[2]其实指向了一个内存地址,修改了一个另一个也会跟着变

5 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

L = T[2]这个不应该是赋值语句么,为什么L中的元素变化,T[2]会跟着变化

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信