Python排序的三种核心方法包括:内置函数sorted()
、列表方法sort()
和手动算法实现(如冒泡排序)。 其中,sorted()
返回新列表且不修改原数据,sort()
原地排序更节省内存,而手动算法适合学习底层逻辑但效率较低。以下是具体展开:
-
内置函数
sorted()
适用于所有可迭代对象(列表、元组等),支持自定义排序规则。例如,sorted([3, 1, 2], reverse=True)
返回降序结果[3, 2, 1]
。通过key
参数可指定排序依据,如按字符串长度排序:sorted(["apple", "kiwi"], key=len)
。 -
列表方法
sort()
直接修改原列表,无返回值,适合内存敏感场景。例如:nums = [3, 1, 2]; nums.sort()
将nums
变为[1, 2, 3]
。同样支持key
和reverse
参数,如nums.sort(reverse=True)
实现降序。 -
手动算法实现
如冒泡排序通过多次比较相邻元素实现排序,适合教学但时间复杂度为。示例:python复制
def bubble_sort(arr): for i in range(len(arr)): for j in range(len(arr)-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j]
总结:日常开发优先使用sorted()
或sort()
,兼顾效率与简洁;手动算法适用于学习场景。根据需求选择合适方法,平衡性能与可读性。