跳到主要内容

sort 和 sorted 的区别?

参考答案:

sortsorted 是 Python 中用于排序的两种不同方法。它们的主要区别在于它们的工作方式和返回的对象类型。

  1. 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]
  1. 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