如何在Python中实现快速排序

时间:2014-01-15 23:35:37

标签: python sorting

我试过这样做,但我无法理解。我有这个在索引1搜索的快速排序,但是如何将该索引处的字符串更改为整数?

def quick_sort(list):
    if not list:
        return list
    pivot = list[0]
    lesser = quick_sort([x for x in list[1:] if x[1] < pivot[1]], 1)
    greater = quick_sort([x for x in list[1:] if x[1] >= pivot[1]], 1)
    return lesser + [pivot] + greater

有任何帮助吗?

2 个答案:

答案 0 :(得分:2)

在这里尝试一下。

def quick_sort(list):
    if not list: 
        return list 
    pivot = list[0] 
    lesser = quick_sort([x for x in list[1:] if float(x[1]) < float(pivot[1])], 1) 
    greater = quick_sort([x for x in list[1:] if float(x[1]) >= float(pivot[1])], 1) 
    return lesser + [pivot] + greater

答案 1 :(得分:0)

您不需要index变量:

def quick_sort(list):
    if not list:
        return list
    pivot = list[0]
    lesser = quick_sort([x for x in list[1:] if x < pivot])
    greater = quick_sort([x for x in list[1:] if x >= pivot])
    return lesser + [pivot] + greater