sort 和 sorted 的区别?
参考答案:
sort
和 sorted
是 Python 中用于排序的两种不同方法。它们的主要区别在于它们的工作方式和返回的对象类型。
sort
:这是列表(list)对象的一个方法。它直接在原始列表上进行排序,并且没有返回值(返回值为None
)。这意味着调用sort
方法后,原始列表的顺序将被改变。
示例:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
sorted
:这是一个内建函数,可以用于任何可迭代对象(如列表、元组等)。它返回一个新的已排序的列表,原始列表的顺序不会被改变。
示例:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
print(my_list) # 输出: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] 原始列表顺序未变
总的来说,如果你希望在原始列表上进行排序,并且不需要保留原始列表的副本,那么可以使用 sort
。如果你希望保留原始列表的顺序,并得到一个已排序的新列表,那么可以使用 sorted
。