python中的sorted
时间: 2024-05-03 18:18:28 浏览: 10
在Python中,`sorted()`是一个内置函数,用于对可迭代对象(如列表、元组、字符串等)进行排序。它返回一个新的已排序的列表,而不会改变原始对象。
`sorted()`函数的语法如下:
```python
sorted(iterable, key=None, reverse=False)
```
其中,参数`iterable`表示要排序的可迭代对象,`key`和`reverse`是可选参数。
- `key`用于指定排序时要应用的函数,它接受一个参数并返回一个用于排序的关键字。默认值为`None`,表示按照元素的原始值排序。
- `reverse`用于指定是否按照降序排列。默认值为`False`,表示按照升序排列。
下面是一个示例,演示如何使用`sorted()`函数对列表进行排序:
```python
# 对列表进行排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# 按照元素的绝对值进行排序
numbers = [-3, 1, -4, 1, 5, -9, 2, 6, -5, 3, 5]
sorted_numbers = sorted(numbers, key=abs)
print(sorted_numbers) # 输出:[1, 1, 2, 3, -3, -4, 5, -5, 5, 6, -9]
# 按照降序排列
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers) # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
需要注意的是,`sorted()`函数返回的是一个新的已排序的列表,而不会改变原始列表。如果要在原始列表上进行排序,可以使用列表的`sort()`方法。例如:
```python
# 对列表进行排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort()
print(numbers) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```