python写一个快速排序

用python写一个快速排序, 要求用到递归, 然后把partition操作分离的写出来, 求帮一下

有用请采纳

class Solution:
    def partition(self, nums, left, right):
        partitionValue = nums[left]
        partitionPos = left

        for i in range(left + 1, right + 1):
            if nums[i] < partitionValue:
                partitionPos += 1
                nums[partitionPos], nums[i] = nums[i], nums[partitionPos]

        nums[partitionPos], nums[left] = nums[left], nums[partitionPos]

        return partitionPos

    def quickSort(self, nums, left, right):
        if left >= right:
            return

        partition = self.partition(nums, left, right)
        self.quickSort(nums, left, partition - 1)
        self.quickSort(nums, partition + 1, right)

    def sort(self, nums):
        self.quickSort(nums, 0, len(nums) - 1)
        return nums


x = Solution()
print(x.sort([5, 3, 9, 4, 2, 7]))
print(x.sort([]))
print(x.sort([5]))
print(x.sort([5, 5, 5, 5]))
print(x.sort([-1, 6, -7, 2]))