Python 中的 sorted() 函数:排序和定制排序52


简介

Python 中的 sorted() 函数是一个内置函数,用于对可迭代对象(例如列表、元组和集合)进行排序。它返回一个新列表,其中元素已按升序排列。sorted() 函数提供了广泛的定制选项,允许用户定义自己的排序规则。

基本用法

sorted() 函数的语法如下:```python
sorted(iterable, key=None, reverse=False)
```
* iterable:要排序的可迭代对象。
* key(可选):用于自定义排序的函数。
* reverse(可选):如果设置为 True,则对结果列表进行降序排序。
要对列表进行升序排序,只需调用 sorted() 函数,如下所示:
```python
my_list = [5, 2, 1, 3, 4]
sorted_list = sorted(my_list) # [1, 2, 3, 4, 5]
```

使用 key 参数进行自定义排序

key 参数允许用户指定一个自定义函数,该函数用于确定排序顺序。自定义函数应该接受一个元素作为输入,并返回一个用于比较的键。例如,要按字符串长度排序列表:```python
my_list = ['apple', 'banana', 'pear', 'cherry']
sorted_list = sorted(my_list, key=len) # ['pear', 'apple', 'cherry', 'banana']
```

使用 reverse 参数进行降序排序

要对结果列表进行降序排序,请将 reverse 参数设置为 True。例如,要按降序对数字列表进行排序:```python
my_list = [5, 2, 1, 3, 4]
sorted_list = sorted(my_list, reverse=True) # [5, 4, 3, 2, 1]
```

高级排序选项

sorted() 函数还提供其他高级选项,例如:* stable:如果设置为 True,则保持相等元素的相对顺序。
* cmp:自定义比较函数(已弃用,建议使用 key 参数)。
* reversed:创建一个可迭代的反向排序结果视图(相当于 sorted(iterable, reverse=True))。

示例:复杂排序

以下示例演示如何使用 sorted() 函数对字典中的值进行排序:```python
my_dict = {'apple': 1, 'banana': 3, 'pear': 2, 'cherry': 4}
sorted_dict = sorted((), key=lambda x: x[1]) # [('apple', 1), ('pear', 2), ('banana', 3), ('cherry', 4)]
```

Python 中的 sorted() 函数是进行简单和复杂排序任务的有用工具。它提供了一系列定制选项,允许用户定义自己的排序规则,以满足各种需求。通过理解 sorted() 函数的用法和功能,开发者可以有效地对可迭代对象进行排序。

2024-10-16


上一篇:Python 中获取文件名的终极指南

下一篇:Python 文件写入指南:从初学者到专家