list.sort()
对列表进行排序并替换原始列表,而sorted(list)
返回列表的排序副本,而不更改原始列表。
- 什么时候一个人比另一个人更受青睐?
- 哪个更有效率?多少?
- 列表可以恢复到未排序状态吗
list.sort()
已执行?
Please use Why do these list operations (methods) return None, rather than the resulting list? https://stackoverflow.com/questions/11205254 to close questions where OP has inadvertently assigned the result of .sort()
, rather than using sorted
or a separate statement. Proper debugging would reveal that .sort()
had returned None
, at which point "why?" is the remaining question.
sorted()
返回一个new排序后的列表,原始列表不受影响。list.sort()
对列表进行排序in-place,改变列表索引,并返回None
(就像所有就地操作一样)。
sorted()
适用于任何可迭代对象,而不仅仅是列表。字符串、元组、字典(您将获得键)、生成器等,返回包含所有元素的列表(已排序)。
Use list.sort()
当你想改变列表时,sorted()
当你想要返回一个新的排序对象时。使用sorted()
当你想要对可迭代的东西而不是列表进行排序时yet.
对于列表,list.sort()
比sorted()
因为它不必创建副本。对于任何其他可迭代对象,您别无选择。
不可以,您无法恢复原来的位置。一旦你打电话list.sort()
原来的订单不见了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)