sort与sorted的区别
时间: 2023-11-20 09:28:33 浏览: 22
sort和sorted都是用来排序的函数,但是它们的使用方法和作用略有不同。
sort是列表的一个方法,它用于对列表进行原地排序,即直接修改原列表,不会返回任何值。sort会改变列表本身的顺序,因此它不适用于任何不希望改变原始列表的情况。
sorted是Python内置函数,它接受一个可迭代对象作为输入,返回一个新的排序后的列表。sorted不会改变原始序列,而是返回一个新的已排序的序列。因此,sorted适用于希望对原始序列进行排序而又不想修改原始序列的情况。
总结:
sort:
- 用于列表,是列表的一个方法
- 对原始列表进行原地排序
- 不返回任何值
sorted:
- 是Python内置函数
- 接受一个可迭代对象作为输入,返回一个新的排序后的列表
- 不改变原始序列,返回一个新的已排序的序列
相关问题
python sort与sorted区别
python中的sorted和sort有什么区别?
sorted是一个内置函数,用于对可迭代对象进行排序并返回一个新的列表,而不会修改原来的可迭代对象。sort是列表的一个方法,用于对列表进行原地排序,即修改原来的列表。
sort与sorted
`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` 用于对可迭代对象进行排序并返回一个新的已排序列表。