1、所謂元組的不可變指的是元組所指向的記憶體中的内容不可變。
# 關于元組是不可變的
tupleA = (1, 2, 3, 4)
# tupleA[0] = 0 # 報錯 TypeError: 'tuple' object does not support item assignment 不支援修改元素
# 檢視記憶體位址 id()
print(id(tupleA))
tupleA = (1, 2, 3, 4)
print(id(tupleA))
tupleA = (0, 1, 2, 3)
print(id(tupleA))
輸出結果是:
1960670738208
1960670738208
1960670737888
從以上執行個體可以看出,重新指派的元組 tupleA,綁定到新的對象了,不是修改了原來的對象。
2、List 是可變的
#關于List是可變的
listA = [1, 2, 3]
print(id(listA))
listA[0] = 0
print(listA)
print(id(listA))
listA = [1, 2, 3]
print(id(listA))
listA = [1, 2, 4]
print(id(listA))
輸出結果是
2974141229248
[0, 2, 3]
2974141229248
2974141227968
2974141229248
從以上執行個體可以看出,重新指派的清單listA,并未綁定到新的對象,而是修改了原來的對象。