1. 使用列表的 `sort()` 方法:
对列表进行原地排序,即直接修改原始列表。
无返回值。
参数包括 `cmp`(比较函数,可选),`key`(用于比较的元素,可选),`reverse`(排序顺序,可选,默认为升序)。
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort()
print(numbers) 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
2. 使用内置函数 `sorted()`:
对所有可迭代对象进行排序操作。
返回一个新的已排序列表,不修改原来的对象。
参数包括 `iterable`(可迭代对象),`cmp`(比较函数,可选),`key`(用于比较的元素,可选),`reverse`(排序顺序,可选,默认为升序)。
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers) 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
print(numbers) 原始列表保持不变
您还可以使用 `lambda` 表达式与排序函数结合使用,以简化代码。例如,对列表进行降序排序:
lst = [4, 2, 7, 1, 3]
lst.sort(key=lambda x: x*(-1))
print(lst) 输出 [7, 4, 3, 2, 1]
此外,Python还提供了多种排序算法,如冒泡排序、选择排序、插入排序和快速排序等。您可以根据需要选择合适的算法进行排序。