深入理解 Python 中的排序函数Python 中提供了一系列排序函数,包括 sort 和 sorted,本文将主要介绍 Python3 版本的这些函数。在具体探讨之前,我们先了解 sort 和 sorted 函数的区别。sort 函数原型为:list.sort(key=None, reverse=False);sorted 函数原型为:sorted(iterable, key=None, reverse=False)。在参数 key 上,sort 函数接收一个函数,此函数只接受一个元素,返回值表示此元素的权值;sorted 函数同样接收一个函数,此函数同样只接受一个元素,返回值用于决定排序顺序。接受 False 或者 True 表示是否逆序排序。实战演练包括对不同 Python 类型进行排序,如 list、tuple、dict。在 list 类型中,sort 是原地排序,而 sorted 则生成新的排序后的列表。对于 tuple 类型,没有内置 sort 函数,只能使用 sorted 函数,且返回值为 list 类型。在 dict 类型中,如果不使用 key 参数,则默认按照键进行排序,使用 key 参数可以按照自定义规则排序。进阶篇主要探讨自定义规则排序。自定义排序主要通过 key 参数实现,可以使用 lambda 函数或 itemgetter 方法实现单一或多重字段排序。对于自定义类排序,原理与内置类型相似,需要通过 key 参数指定排序规则。使用 operator 模块的 itemgetter 或 attrgetter 方法进行排序。如果需要实现复杂排序,如先按照年龄升序,再按照年级降序排序,可以使用 lambda 函数结合排序函数实现。在 Python3 中,cmp 参数不再支持,但可以通过定义比较函数实现排序。推荐使用 lambda 函数定义排序规则,代码简洁且易于理解。参考资源:docs.python.org/3.7/lib...docs.python.org/3/libra...jb51.net/article/147635...