请问这个程序的代码该怎么写

编写函数merge_sort(alist)使用“归并排序算法”对参数列表alist的各元素进行升序排序,排序后,
alist的各元素按升序有序。


def merge_sort(alist):
    if len(alist) == 1:
        return alist
    mid = len(alist) // 2
    left = merge_sort(alist[:mid])
    right = merge_sort(alist[mid:])
    result = []
    while len(left) > 0 and len(right) > 0:
        if left[0] <= right[0]:
            result.append(left.pop(0))
        else:
            result.append(right.pop(0))
    result += left
    result += right
    return result


print(merge_sort([11, 99, 33, 69, 77, 88, 55, 11, 33, 36, 39, 66, 44, 22]))