list.sort()对列表进行排序并保存排序后的列表,同时sorted(list)返回列表的排序后的副本,而不更改原始列表。
list.sort()
sorted(list)
sorted()返回一个新的排序列表,而原始列表不受影响。就地list.sort()对列表进行排序,使列表索引突变,然后返回None(就像所有就地操作一样)。
sorted()
sorted()适用于任何可迭代的对象,而不仅仅是列表。字符串,元组,字典(你将获得键),生成器等,返回包含所有已排序元素的列表。
使用list.sort()时要变异列表中,sorted()当你想要一个新的排序的对象返回。使用sorted()时要排序的东西,是一个可迭代,而不是一个名单尚未。
对于列表,list.sort()它比sorted()不需要创建副本要快。对于其他任何迭代,你别无选择。
不,你无法检索原始位置。一旦你致电list.sort(),原始订单就消失了。