“引言部分,总领全篇文章的中心内容。”
Python 中有两种途径用于对 list 排序:sorted() 和 list.sort()。
我们看到:
sorted() 返回的 s1 是一个已排序的 list 对象,而 list.sort() 返回的是 None。
sorted() 不改变原 list,而 list.sort() 则直接在原 list 上做了排序。
二者在使用上还是有显著区别的。
那么,为什么 list.sort() 不返回一个新的已排序的 list 对象呢?
Python FAQ 中回答说:
In situations where performance matters, making a copy of the list just to sortit would be wasteful.
这是出于性能考量。
某些情况下为了排序而生成一个 list 对象的拷贝可能就是浪费。
这倒也是啊,拷贝需要额外的内存和 CPU 时间。
如果你要排序一个 list 对象,而它的顺序不影响后续使用,那就使用 list.sort() 吧。
领取专属 10元无门槛券
私享最新 技术干货