L = T[2] 语句的理解

来源:6-4 Python的可变tuple

紫龙小飞

2020-08-30 15:35

课件中的代码如下:

T = (1, 'CH', [3, 4])
L = T[2]
print(L) # ==> [3, 4]
L[1] = 40
print(L) # ==> [3, 40]
print(T) # ==> (1, 'CH', [3, 40])

其中L = T[2],是理解为 L变量指向T[2],而不是复制一个T[2]给L吗? 这代码与其他编程语言的变量赋值有很大区别啊!!!


写回答 关注

3回答

  • qq_慕妹1564823
    2020-09-01 17:13:18

    类似于c语言的指针, c++的引用


    海岸边滴树

    确实这样理解方便些,第一反应也很费解

    2020-09-26 00:01:50

    共 1 条回复 >

  • qq_慕妹1564823
    2020-09-01 17:11:57

    你这样理解的就复杂了。 举个例子,定义一个可变的list  L=[1,2,3]  你执行L[1]=9 按你的理解 是复制了一个9给L[1],可是L[1]本身就有一个元素 2 ,你复制的9怎么存储? 你肯定是默认 用9去替换2。 回到 T= ( 1, 'CH', [3,4] ), 他的意思就是说 T[2]这个元素是一个list类型,假设他在内存中有一个名字叫 x ,那在这个tuple里面 这个元素就只能是x ,不能变成其他的, 至于这个x 里面的内容 ,你是可以改变的 。  

  • 小火炉备用
    2020-08-30 17:33:52
    T = (1, 'CH', (3, 4))
    L = T[2]
    print(L) # ==> [3, 4]
    L[1] = 40
    print(L) # ==> [3, 40]
    print(T) # ==> (1, 'CH', [3, 40])

Python3 入门教程(新版)

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

154161 学习 · 1075 问题

查看课程

相似问题