Python:关于sorted()函数和sort()两者之间的区别?
为什么调用一个reverse=True,而两者的调用方法不一样。一个是sorted(viewpoints,reverse=True);另一个是viewpoints.sort(reverse=True)。这里有什么区别么?
3 个回答
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()方法只能用于列表,直接在原始列表上进行排序,不返回新列表。