def quick_sort(lists, left, right):
#快速排序
if left >= right: #当递归调用的分组为1个数时返回列表
return lists
key = lists[left] #保存key值,在一轮调用结束时,存到中间值
low = left
high = right #供递归调用时使用
while left < right: #通过下面两个循环依次交替赋值并使key值两侧为大小分组
while left < right and lists[right] >= key:
right -= 1
lists[left] = lists[right]
while left < right and lists[left] <= key:
left += 1
lists[right] = lists[left]
lists[right] = key
quick_sort(lists, low, left-1) #对key值左侧进行排序分组
quick_sort(lists, left+1, high) #对key值右侧进行排序分组
return lists