在定義列表對象的變量,例如:變量引用列表對象與(某些)其他對象不同?
x = [1,2,0.2,3,4]
y = x
x.sort()
我預計y
仍然等於[1, 2, 0.2, 3, 4]
,但事實並非如此。 y
的值更改爲x
已更改。爲了解決這個問題,我發現使用y = x.copy()
可以保留第一行的值。
在另一方面,另一示例:
x = 5
y = x
x = 4
從這個的y
值仍然是5
,它不會改變作爲x
變化。
我的問題:這是由於列表類中的設計,還是有另一種解釋?我發現使用x.append(value)
時也會發生動態變化。任何見解都會被讚賞。問候,Arief
強制性閱讀:https://nedbatchelder.com/text/names.html – chepner
@Arief我剛剛看到你重新收錄了「任何見解都值得讚賞,問候,哀悼」。這種稱呼[被認爲是「噪音」,分散於問題本身(應該避免或刪除)](https://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-被移除從 - 個)。 – MSeifert