我想要獲得更多直覺,瞭解列表的可變性如何在Python中工作。特別是,我通過一份聲明中this source困惑:關於列表在Python中可變性的困惑
如果需要排序列表,或者按字母或數字,Python已經爲你披上那裏。只需調用列表上的sort()方法,它將按照新的順序保存。這將覆蓋前面的列表,因此如果您需要保留原件,請創建一個副本進行排序。
我不確定我是否理解如何以粗體顯示該零件。以下是我在談論的一個例子:
>>> x = [3,2,1,0]
>>> y = x
>>> x
[3,2,1,0]
>>> y
[3,2,1,0]
>>> y.sort()
>>> y
[0,1,2,3]
>>> x
[0,1,2,3]
所以我創建了一個副本進行排序,然後排序的副本,但這種情況已經改變了原來的列表中。因此,我對上面的引用意味着什麼感到困惑。我不明白這是如何「保留原來的」。有沒有特別的方法來複制?謝謝。
'Y = x'不創建副本更改任何值的另一個參考,它只是意味着該列表現在有兩個不同的名字。 –