Python:关于sorted()函数和sort()两者之间的区别?

阿杰阿杰 · 2022-02-27 18:00
为什么调用一个reverse=True,而两者的调用方法不一样。一个是sorted(viewpoints,reverse=True);另一个是viewpoints.sort(reverse=True)。这里有什么区别么?
3 个回答
程序鸽
程序鸽
欢迎来到知识星球:Python全能工程师。能理解和体会学习编程的困难并找到最适合的入门方法,快来加入吧!

sorted()函数和sort()方法都用于对可迭代对象进行排序,但它们有一些区别:


1. sorted()函数是一个内置函数,可以用于任何可迭代对象,例如列表、元组、字符串等。它返回一个新的列表,包含排序后的元素,而不改变原始对象。sorted()函数可以接受多个参数,包括要排序的对象和一些可选参数,如key和reverse。


示例:

numbers = [4, 2, 1, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出:[1, 2, 3, 4]
print(numbers)  # 输出:[4, 2, 1, 3](原始列表不变)


2. sort()方法是列表对象的方法,只能用于列表,并且直接在原始列表上进行排序,不返回新的列表。sort()方法只有两个可选参数,即key和reverse。


示例:

numbers = [4, 2, 1, 3]
numbers.sort()
print(numbers)  # 输出:[1, 2, 3, 4](原始列表被排序)


综上所述,主要区别在于:

- sorted()函数可用于任何可迭代对象,返回一个新列表,不改变原始对象。

- sort()方法只能用于列表,直接在原始列表上进行排序,不返回新列表。

赞同
反对
评论
收藏
2023-05-11 18:56
查看全部 3 个回答