list.sort()对列表进行排序并替换原始列表,而sorted(list)返回列表的排序副本,而不更改原始列表。
list.sort()
sorted(list)
sorted()返回一个 新* 的排序列表,原始列表不受影响。 就地list.sort()排序列表,改变列表索引,然后返回(就像所有就地操作一样)。 *None
sorted()
None
sorted()适用于任何可迭代的,而不仅仅是列表。字符串、元组、字典(你会得到键)、生成器等,返回一个包含所有元素的列表,排序。
list.sort()当你想改变列表,sorted()当你想要一个新的排序对象时使用。sorted()当您想要对可迭代的东西进行排序时使用, 而 不是列表。
对于列表,list.sort()比sorted()因为它不必创建副本要快。对于任何其他可迭代对象,您别无选择。
不,您无法检索原始位置。一旦你打电话list.sort(),原来的订单就不见了。