sort与sorted
时间: 2023-07-28 11:13:14 浏览: 72
深入理解python中sort()与sorted()的区别
5星 · 资源好评率100%
`sort` 和 `sorted` 都是 Python 内置的排序函数,但是它们有一些不同之处。
`sort` 是列表对象的方法,用于在原地对列表进行排序,即直接修改原始列表。它没有返回值,因此不能用于赋值语句。例如:
```
lst = [3, 2, 1]
lst.sort()
print(lst) # 输出 [1, 2, 3]
```
`sorted` 是一个内置函数,用于对可迭代对象进行排序,它返回一个新的已排序的列表,原始对象不受影响。例如:
```
lst = [3, 2, 1]
new_lst = sorted(lst)
print(new_lst) # 输出 [1, 2, 3]
print(lst) # 输出 [3, 2, 1]
```
另外,`sorted` 函数可以接受多种可迭代对象作为参数,并且可以接受关键字参数,用于指定排序的方式。例如:
```
tup = (3, 2, 1)
new_tup = sorted(tup)
print(new_tup) # 输出 [1, 2, 3]
lst = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}]
new_lst = sorted(lst, key=lambda x: x['age'])
print(new_lst) # 输出 [{'name': 'Bob', 'age': 20}, {'name': 'Alice', 'age': 25}]
```
总之,`sort` 主要用于对列表对象进行原地排序,而 `sorted` 用于对可迭代对象进行排序并返回一个新的已排序列表。
阅读全文