电脑课堂
柔彩主题三 · 更轻盈的阅读体验

Python排序方法实用示例,帮你快速解决数据混乱问题

发布时间:2026-01-01 13:11:18 阅读:231 次

工作中经常遇到一堆杂乱的数据,比如销售记录、学生成绩或者文件列表,手动排太费劲。这时候用Python写几行代码就能搞定,效率直接拉满。

冒泡排序:最基础的排法,适合理解原理

虽然慢,但逻辑简单,新手容易上手。比如你有一组考试分数要从小到大排:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr

scores = [85, 92, 78, 90, 88]
print(bubble_sort(scores))

快速排序:处理大数据更高效

平时处理上千条数据时,冒泡就扛不住了。快速排序递归拆分,速度快很多。像整理服务器日志时间戳就很合适:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr)//2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)

logs_time = [1324, 1231, 1456, 1123, 1300]
print(quick_sort(logs_time))

内置sorted函数:日常用最省事

其实大多数时候根本不用自己写算法。Python自带的sorted函数又快又稳,支持列表、字典等各种类型。比如按姓名首字母排员工名单:

employees = ['张伟', '李娜', '王强', '刘芳']
print(sorted(employees))

要是想按成绩从高到低排,加个参数就行:

students = [{'name': '小明', 'score': 88}, {'name': '小红', 'score': 95}]
sorted_students = sorted(students, key=lambda x: x['score'], reverse=True)
print(sorted_students)

这些方法在调试程序输出异常、分析日志顺序错乱时特别有用。哪天发现导出的报表顺序不对,拿这段代码一跑,问题立马定位。