Python 中的 sorted() 是一个内置高阶函数,用于对可迭代对象(如列表、元组、字符串等)进行排序并返回新的有序列表。其核心亮点是:支持自定义排序规则(通过 key
参数)、可逆排序(reverse
参数),且不改变原始数据,底层采用 TimSort 算法实现高效排序。
sorted() 是 Python 内置函数,用于对可迭代对象进行排序,并返回一个新的排序后的列表。与列表的 sort() 方法不同,sorted() 不会修改原始数据。其基本语法为 sorted(iterable, *, key=None, reverse=False),其中 iterable 是必需参数,表示要排序的可迭代对象;key 是可选参数,用于指定排序依据的函数,默认为 None,即直接比较元素本身;reverse 也是可选参数,布尔类型,默认为 False 表示升序,True 表示降序。
sorted() 函数支持多种数据类型,如列表、元组、字符串等。对于列表排序,它可以对数字、字符串等进行排序。例如对数字列表排序,能直接得出按数字大小排序的新列表;对字符串列表排序,会按字母顺序生成新列表。在处理字符串排序时,它会按字母顺序排列字符,若需要改变顺序,可通过 reverse 参数实现。
key 参数是 sorted() 函数的一大特色,它接受一个函数,此函数会应用到每个元素上,排序依据是该函数的返回值。比如按字符串长度排序,可使用 len 函数作为 key;若要忽略大小写排序,可将 key 设为 str.lower。还可以使用 lambda 表达式定义简单函数作为 key,实现按特定规则排序,如按某个字母出现次数排序。
sorted() 函数在 Python 的许多场景中都有应用。在数据整理方面,能对各种数据进行排序,如成绩、日期等;在数据处理流程中,排序是预处理步骤,方便后续分析、计算;在算法实现时,排序可作为其中一环,辅助完成排序相关的算法,如二分查找要求数据有序,sorted() 可帮助实现这一前提。
Python 中的 sorted() 函数是一个功能强大的排序工具,灵活运用其参数可以让排序更贴合需求,为数据处理和算法实现提供便利。