此代码段: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
提交
取消