每天学点Python Cookbook(五)

1. 三行代码的快速排序


任务:
你想证明,Python对函数式编程范式的支持比第一眼看上去的印象强多了。

解决方案:

def quick_sort(l):
    if len(l) <= 1: return l
    return quick_sort([lt for lt in l[1:] if lt < l[0]]) + l[0:1] + \
            quick_sort([ge for ge in l[1:] if ge >= l[0]])

测试用例:

if __name__ == '__main__':
    l = [9,8,7,6,5,4,3,2,1]
    print(quick_sort(l))

测试结果:

每天学点Python Cookbook(五)

相关推荐