python里面sort和sorted的区别
时间: 2024-03-03 22:43:38 浏览: 81
在Python中,sort()和sorted()都是用于对列表进行排序的方法,但它们有以下区别:
1. sort()是原地排序,即会改变原来列表的顺序,而sorted()是非原地排序,不会改变原来列表的顺序。
2. sort()没有返回值,因此无法将排序结果赋给一个变量;而sorted()会返回一个新的列表,可以将结果赋给一个变量。
下面是它们的使用示例:
# sort() 的使用示例
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
lst.sort()
print(lst) # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
# sorted() 的使用示例
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
new_lst = sorted(lst)
print(new_lst) # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
print(lst) # 输出:[3, 1, 4, 1, 5, 9, 2, 6, 5]
相关问题
Python中sort和sorted区别
sort()和sorted()都是Python中用于排序的方法,但是它们的实现方式和使用场景有所不同。
sort()方法用于对列表进行排序,直接修改原始列表,而不是返回一个新的排序后的列表。sort()方法没有返回值,因此无法将其结果赋值给一个变量。示例代码如下:
```python
my_list = [3, 1, 4, 2, 5]
my_list.sort()
print(my_list) # 输出[1, 2, 3, 4, 5]
```
sorted()方法用于对任何可迭代的对象进行排序,返回一个新的排序后的列表,而原始对象不会被修改。sorted()方法可以将其结果赋值给一个变量。示例代码如下:
```python
my_list = [3, 1, 4, 2, 5]
new_list = sorted(my_list)
print(my_list) # 输出[3, 1, 4, 2, 5]
print(new_list) # 输出[1, 2, 3, 4, 5]
```
因此,如果你想要修改原始的列表并排序,可以使用sort()方法。如果你想要保留原始的列表并创建一个新的排序后的列表,则应该使用sorted()方法。
python中sort和sorted区别
`sort()` 是列表的原地排序方法,会修改原列表顺序。`sorted()` 是内置函数,返回一个新的已排序的列表,不会修改原列表。
举个例子:
```
>>> a = [3, 1, 2]
>>> b = sorted(a)
>>> print(a)
[3, 1, 2]
>>> print(b)
[1, 2, 3]
>>> a.sort()
>>> print(a)
[1, 2, 3]
```
可以看到,使用`sorted()`函数返回了一个新列表,而使用`sort()`方法直接在原列表上进行了排序。
阅读全文