列表中sort函数和sorted函数的用法
时间: 2024-05-14 18:13:38 浏览: 46
sort函数是对列表排序的方法,它会修改原列表,而且不会返回任何值。sorted函数则是返回排序后的新列表,原列表不变。举个例子:
```
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
lst.sort()
print(lst) # [1, 1, 2, 3, 4, 5, 5, 6, 9]
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中用于排序的两个函数,它们的用法和区别如下:
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。
python sort函数和sorted函数
`sort` 函数和 `sorted` 函数都可以用来对 Python 列表进行排序,但它们有一些区别。
`sort` 函数是一个列表方法,它直接修改原始列表,将其排序。这意味着原始列表的顺序会被改变,且函数没有返回值。例如:
```python
numbers = [5, 2, 8, 1, 3]
numbers.sort()
print(numbers) # 输出 [1, 2, 3, 5, 8]
```
另一方面,`sorted` 函数是一个内置函数,它接受一个可迭代对象作为参数,并返回一个新的已排序的列表,而不改变原始列表的顺序。这意味着函数会返回排序后的列表,而不影响原始列表。例如:
```python
numbers = [5, 2, 8, 1, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出 [1, 2, 3, 5, 8]
print(numbers) # 输出 [5, 2, 8, 1, 3]
```
此外,`sorted` 函数还可以接受额外的参数,例如 `reverse=True` 可以实现降序排序:
```python
numbers = [5, 2, 8, 1, 3]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers) # 输出 [8, 5, 3, 2, 1]
```
总结来说,如果你想原地修改列表并且不需要返回值,可以使用 `sort` 函数;如果你想获得一个新的已排序列表而不改变原始列表的顺序,可以使用 `sorted` 函数。
阅读全文