Python内置sorted函数默认排序算法:归并排序还是快速排序?
Python内置sorted函数的默认排序算法及示例解析
嘿,这个问题问得挺实在的!其实Python内置的sorted()函数默认采用的既不是纯归并排序(Merge sort)也不是纯快速排序(Quick sort),而是Timsort——这是一种混合了归并排序和插入排序优势的高效排序算法,它专门针对实际业务中常出现的部分有序数据集做了优化,在大多数场景下都能提供出色的性能。
接下来咱们看你给出的按年龄排序学生信息的示例:
student_tuples = [ ('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10), ] sorted(student_tuples, key=lambda student: student[2]) # sort by age # 输出结果:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
这个示例里,我们通过key参数指定了排序的依据是每个元组的第三个元素(也就是学生的年龄),sorted()函数就会用Timsort算法按照这个规则对列表进行升序排序,最终得到按年龄从小到大排列的学生信息列表。
内容的提问来源于stack exchange,提问作者user3761555
相关产品推荐
相关产品推荐

