python – `sorted(list)`vs`list.sort()`有什么区别?

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

>但什么时候使用哪个?
>哪个更快?又快多少?
>可以在list.sort()之后检索列表的原始位置吗?

最佳答案
sorted()返回一个新的排序列表,使原始列表不受影响. list.sort()就地对列表进行排序,改变列表索引,并返回None(就像所有就地操作一样).

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

>当你想改变列表时使用list.sort(),当你想要一个新的排序对象时,使用sorted().如果要对可迭代的内容进行排序,而不是列表,请使用sorted().
>对于列表,list.sort()比sorted()更快,因为它不必创建副本.对于任何其他可迭代的,您别无选择.
>不,您无法检索原始位置.一旦你调用list.sort(),原始订单就消失了.

转载注明原文:python – `sorted(list)`vs`list.sort()`有什么区别? - 代码日志