问答详情
源自:6-4 Python的可变tuple

我有些不明白

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])

比如这个,讲义里的代码,L=T[2],我感觉是一个赋值语句啊,相当于把T[2]给了L,那L和T的本身应该没关系吧,为什么变L会影响T呢。

提问者:qq_慕侠2076267 2022-04-29 15:29

个回答

  • 翎栋
    2024-02-17 17:29:28

    在Python中,元组是不可变的数据类型,但它们可以包含对其他可变对象的引用,比如列表。所以,元组的不可变性只限于元组自身的操作,而不限于其元素所指向的对象。

  • XLV
    2022-05-06 10:59:57

    x=(2,'FG',[4,6])
    print(x) #不会改变x中的数据类型
    y=x[2]
    print(y)#把索引2里面的list去改变这个x中的数据
    #x[2]已经赋给了y这个变量名 就等于这是tuple中的第二个list列表 可以转换
    y[1]=20
    print(y)#就可以把list中的数值进行在tuple中改变