Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中实现快速排序_Python_Sorting - Fatal编程技术网

如何在Python中实现快速排序

如何在Python中实现快速排序,python,sorting,Python,Sorting,我已经试过了,但我想不出来。我有一个在索引1处搜索的快速排序,但是如何将该索引处的字符串更改为int 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

我已经试过了,但我想不出来。我有一个在索引1处搜索的快速排序,但是如何将该索引处的字符串更改为int

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
def快速排序(列表):
如果没有列出:
返回列表
pivot=列表[0]
lesser=快速排序([x代表列表[1]中的x,如果x[1]=pivot[1]],1)
返回较小值+[枢轴]+较大值
有什么帮助吗?

来试试这个

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
def快速排序(列表):
如果没有列出:
返回列表
pivot=列表[0]
lesser=快速排序([x代表列表[1]中的x:]如果float(x[1])=float(pivot[1]),1)
返回较小值+[枢轴]+较大值

您不需要
索引
变量:

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
def快速排序(列表):
如果没有列出:
返回列表
pivot=列表[0]
lesser=快速排序([x代表列表[1]中的x,如果x=pivot])
返回较小值+[枢轴]+较大值

是字符串列表吗?还是整数列表?谢谢@jornsharpe的编辑,我忘了挂起的返回状态!