gpt4 book ai didi

python - `sorted(list)` 与 `list.sort()` 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 12:23:42 28 4
gpt4 key购买 nike

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

  • 什么时候比另一个更受青睐?
  • 哪个更有效率?多少?
  • list.sort() 执行后列表能否恢复为未排序状态?

请使用Why do these list operations (methods) return None, rather than the resulting list?关闭 OP 无意中分配了 .sort() 结果的问题,而不是使用 sorted 或单独的语句。正确的调试会显示 .sort() 已返回 None,此时“为什么?”是剩下的问题。

最佳答案

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

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

  • 使用list.sort()当你想改变列表时,sorted()当您想要一个新的排序对象时。使用sorted()当您想要对可迭代的东西进行排序时,

  • 对于列表,list.sort()sorted() 快因为它不必创建副本。对于任何其他可迭代对象,您别无选择。

  • 不,您无法检索原始位置。一旦您调用 list.sort()原来的订单不见了。

关于python - `sorted(list)` 与 `list.sort()` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22442378/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com