一、语法介绍
在Python中,常见的排序函数包括内置的 sorted() 函数和列表对象的 sort() 方法,它们主要有以下区别
- sorted() 函数
- 返回值: sorted() 函数会返回一个新的已排序的列表,原始列表保持不变。
- 用法:可以对任何可迭代对象进行排序,不仅限于列表,例如元组、字典的键值等。
- 语法:sorted(iterable, key=None,reverse=False),其中 key 和 reverse 是可选参数,用于指定排序的方式和顺序。
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
- sort() 方法
- 原地排序: sort() 方法直接修改原始列表,在原列表上进行排序,不会返回新的列表。
- 用法:仅限于列表对象调用,无法对其他类型的对象使用。
- 语法: list.sort(key=None, reverse=False),与sorted() 的 key 和 reverse 参数类似。
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort()
二、区别总结
- 返回值: sorted() 返回新列表,sort() 在原地修改列表。
- 适用对象: sorted() 可用于任何可迭代对象,sort()仅适用于列表。
- 灵活性: sorted() 可以在不改变原始数据的情况下进行排序,适合函数式编程风格;