天天學點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))

測試結果:測試

clipboard.png

相關文章
相關標籤/搜索