首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么 list.sort()方法不返回已排序的列表?

引言部分,总领全篇文章的中心内容。

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() 吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210316A0BT8W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券