sort和sorted的区别
时间: 2023-11-20 12:41:44 浏览: 155
sort和sorted都是Python中用于对可迭代对象进行排序的函数,但它们有一些区别。
sort是列表对象的方法,它会原地修改列表,将其按照指定的排序规则进行排序。例如:
```python
my_list = [3, 1, 2]
my_list.sort()
print(my_list) # 输出结果为 [1, 2, 3]
```
sorted是一个内置函数,它接受一个可迭代对象作为参数,并返回一个新的已排序的列表,而不修改原来的可迭代对象。例如:
```python
my_list = [3, 1, 2]
new_list = sorted(my_list)
print(new_list) # 输出结果为 [1, 2, 3]
print(my_list) # 输出结果仍为 [3, 1, 2]
```
可以看出,sort对原列表进行了排序,而sorted返回了一个新的已排序列表,并且原列表保持不变。
此外,sort和sorted还可以接受额外的参数,用于指定排序的方式。例如,可以使用`reverse=True`参数来实现降序排序:
```python
my_list = [3, 1, 2]
my_list.sort(reverse=True)
print(my_list) # 输出结果为 [3, 2, 1]
new_list = sorted(my_list, reverse=True)
print(new_list) # 输出结果为 [3, 2, 1]
```
总结起来,sort是列表对象的方法,会原地修改列表;而sorted是内置函数,返回一个新的已排序列表。
阅读全文