L = T[2] # 第二行“=”能够把L和T[2]联系起来吗

来源:6-4 Python的可变tuple

慕哥7105444

2020-11-05 12:02

T = (1, 'CH', [3, 4])
L = T[2] # 第二行“=”能够把L和T[2]联系起来吗
print(L) # ==> [3, 4]
# 尝试替换L中的元素
L[1] = 40
print(L) # ==> [3, 40]
print(T) # ==> (1, 'CH', [3, 40])


写回答 关注

5回答

  • 幕布斯9526405
    2021-03-19 19:01:43

    看起来Python对变量之间的赋值规则和C/java之类的不太一样,这个赋值规则更像是给双方建立一个联系,而且这个联系是双向的,任何一方的改变都会导致另一方发生同样的改变,不像C之类的语言里,双方仅仅在赋值这个语句执行时产生联系,以上是我个人的推测,如果有误,还请指正

  • qq_慕前端4480923
    2021-02-09 12:28:09

    L和T[2]指向的是同一个内存地址,操作的都是同一个内存地址里面的数据。举个不是很恰当的例子:手机端微信和电脑端微信登录的同一个微信账号,手机端发送了消息,电脑端的消息也会同步!

  • 章鱼兽
    2020-11-25 21:09:03
    L = T[2] #这个只是给L赋值吧 为什么改变L会直接把T[2]直接给改了?


  • qq_谢谢惠顾_2
    2020-11-10 14:29:47

    为什么不可以呢

  • 窜天吼猴
    2020-11-05 14:38:37

    你这输出结果不是已经验证了么

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154167 学习 · 1075 问题

查看课程

相似问题