此代碼段:a = [3, 2, 1]
a.sort()產生[1, 2, 3]清單。為什么[3, 2, 1].sort()不會產生相同的結果?是否有一個“單一路線”來實現這一目標?
3 回答

白豬掌柜的
TA貢獻1893條經驗 獲得超10個贊
>>> [3, 2, 1].sort()
它確實對該列表對象進行了排序,但是由于對該列表的引用(指向變量的數量)為0,因此將其進行垃圾回收。(即,我們無法再訪問此列表)
談到第一個問題,list.sort()就地對列表進行排序并返回None。
>>> a = [3, 2, 1]
>>> a.sort()
>>> a
[1, 2, 3]
如果要a保持原樣,請使用sorted并將結果分配回某個變量。
>>> a = [3, 2, 1]
>>> b = sorted(a)
>>> b
[1, 2, 3]
>>> a
[3, 2, 1]
添加回答
舉報
0/150
提交
取消