PHP前端开发

python中sort和sorted区别

百变鹏仔 2天前 #Python
文章标签 区别
sort() 和 sorted() 在 Python 中都是排序函数,但有以下区别:sort() 原地排序原始序列,不返回任何值,而 sorted() 返回一个新序列。sort() 是原地排序,sorted() 是非原地排序,不会修改原始序列。sort() 不支持关键字参数,sorted() 支持。sort() 的复杂度为 O(n log n),sorted() 需要额外的空间存储排序后的序列。

Python 中 sort() 和 sorted() 的区别

在 Python 中,sort() 和 sorted() 都是用于对序列(如列表、元组)进行排序的函数。但两者之间存在一些关键区别:

1. 返回值:

2. 原地排序:

立即学习“Python免费学习笔记(深入)”;

3. 复杂度:

4. 关键字参数:

5. 用法:

sort():

my_list.sort()

sorted():

sorted_list = sorted(my_list)

示例:

# 使用 sort() 对列表原地排序my_list = [5, 3, 1, 2, 4]my_list.sort()print(my_list)  # 输出:[1, 2, 3, 4, 5]# 使用 sorted() 返回排序后的新序列unsorted_list = [5, 3, 1, 2, 4]sorted_list = sorted(unsorted_list, reverse=True)print(sorted_list)  # 输出:[5, 4, 3, 2, 1]print(unsorted_list)  # 输出:[5, 3, 1, 2, 4] (原始序列保持不变)