数组排序函数python
时间: 2024-12-26 09:25:08 浏览: 8
### Python 中用于数组排序的函数
#### sorted 函数
`sorted()` 是一个非常方便的内置函数,能够对所有可迭代对象进行排序。此函数返回一个新的已排序列表,并不会改变原列表的内容。
```python
unsorted_list = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_list = sorted(unsorted_list)
print(sorted_list)
# 输出: [1, 1, 2, 3, 4, 5, 6, 9]
```
对于包含字符串和其他类型的混合列表,同样适用[^2]:
```python
mixed_list = ['apple', 'orange', 42, 'banana']
sorted_mixed_list = sorted(mixed_list, key=str)
print(sorted_mixed_list)
# 输出可能因版本而异,但会尝试转换并排序
```
需要注意的是,在处理不同类型混杂的情况时要谨慎,最好确保所有的元素都可以相互比较以避免错误。
#### list.sort 方法
除了 `sorted()` 外,还可以使用列表对象自身的 `.sort()` 方法来就地排序列表,即直接修改原始列表而不创建新的副本。
```python
my_list = ['b', 'a', 'd', 'c']
my_list.sort()
print(my_list)
# 输出: ['a', 'b', 'c', 'd']
```
如果希望按照特定条件排序,则可以通过传递关键字参数 `key` 来指定一个函数作为键提取器;通过设置布尔型参数 `reverse=True` 可逆序排列。
```python
people = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
people.sort(key=lambda person: person['age'])
print(people)
# 输出按年龄升序的人名字典列表
```
阅读全文