python的sorted和sort区别
时间: 2023-11-20 13:42:44 浏览: 176
深入理解python中sort()与sorted()的区别
5星 · 资源好评率100%
sorted()和sort()都是Python中用于对列表进行排序的函数,但是它们有几个重要的区别。
- sorted()是一个全局函数,可以接受任何可迭代对象作为参数,并返回一个新的已排序的列表。它不会改变原始列表,而是返回一个新的排序后的列表。
- sort()是list对象的方法,只能用于列表,并直接对原始列表进行排序。它不会返回一个新的列表,而是在原地修改列表。
- sorted()函数可以接受一个reverse参数,用于指定排序的顺序。如果设置为True,则排序结果将以降序排列,默认为False(升序)。
- sort()方法也有一个类似的key参数,用于指定排序的规则。它可以传递一个函数作为参数,用于提取排序的键值。
下面是一个示例,演示了sorted()和sort()的用法:
```python
numbers = [4, 2, 1, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出: [1, 2, 3, 4]
print(numbers) # 输出: [4, 2, 1, 3]
numbers.sort()
print(numbers) # 输出: [1, 2, 3, 4]
```
阅读全文