Python-sorted(list)和list.sort()有什么区别?

发布于 2021-02-02 23:15:49

list.sort()对列表进行排序并保存排序后的列表,同时sorted(list)返回列表的排序后的副本,而不更改原始列表。

  • 但是什么时候使用哪个呢?
  • 哪个更快?又快多少?
  • 之后可以检索列表的原始位置list.sort()吗?
关注者
0
被浏览
114
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    sorted()返回一个新的排序列表,而原始列表不受影响。就地list.sort()对列表进行排序,使列表索引突变,然后返回None(就像所有就地操作一样)。

    sorted()适用于任何可迭代的对象,而不仅仅是列表。字符串,元组,字典(你将获得键),生成器等,返回包含所有已排序元素的列表。

    • 使用list.sort()时要变异列表中,sorted()当你想要一个新的排序的对象返回。使用sorted()时要排序的东西,是一个可迭代,而不是一个名单尚未。

    • 对于列表,list.sort()它比sorted()不需要创建副本要快。对于其他任何迭代,你别无选择。

    • 不,你无法检索原始位置。一旦你致电list.sort(),原始订单就消失了。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看