3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以將元組連接成一個(gè)新的元組。您正在用t新值完全替換 的值。您不能修改現(xiàn)有元組。為了顯示:
t = (1, 2, 3)
u = t
t += (4,) # shorthand for t = t + (4,)
t == u # False
t is u # False
t并且u不再引用同一個(gè)對(duì)象。
對(duì)于可變數(shù)據(jù)結(jié)構(gòu),情況并非如此:
t = [1, 2, 3]
u = t
t.append(4)
t == u # True
t is u # True

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
元組是不可變的。也就是說,它們不能像 Python 中的列表那樣進(jìn)行更改。你正在做的是,只是用新元組替換舊元組。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
t += (4,)
或多或少是語法糖。它翻譯成
t = t.__iadd__((4,))
(假設(shè)此方法存在。如果不存在,則回退到t = t + (4,)
)。由于元組是不可變的,充其量__iadd__
會(huì)返回一個(gè)綁定到舊名稱的新元組t
。對(duì)于類似設(shè)置中的列表,返回的列表將是(變異的)原始列表。
添加回答
舉報(bào)