Python中sort函数与sorted函数的用法和区别
时间: 2024-05-01 20:19:20 浏览: 115
sort()和sorted()是Python中用于排序的两个函数,它们的用法和区别如下:
1. sort()函数是列表的一个方法,用于原地排序,即改变原列表,不返回任何值。sorted()函数是Python内置函数,用于对可迭代对象进行排序,返回一个新的有序列表,不改变原对象。
2. sort()函数的用法:list.sort(key=None, reverse=False),其中key是排序函数,reverse是排序方式,True为降序,False为升序。sorted()函数的用法:sorted(iterable, key=None, reverse=False),其中iterable是可迭代对象,key和reverse的含义与sort()相同。
3. sort()函数比sorted()函数快,因为它直接在原列表上进行操作,而sorted()函数需要创建一个新的列表。
4. sort()函数只能用于列表,而sorted()函数可以对任何可迭代对象进行排序。
例如,对于以下列表:
```
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
```
我们可以使用sort()函数进行排序:
```
lst.sort()
print(lst) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
也可以使用sorted()函数进行排序:
```
new_lst = sorted(lst)
print(new_lst) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
注意,sorted()函数返回一个新的列表,不改变原列表lst。
阅读全文