figure the sublists are merged back together to create sorted list equal size the split is handled by first computing the midpoint of the list and then using the slice operation to create two new sublists the left sublist is then passed to recursive call of the pythonmergesort(function that portion of the list will be processed recursively until it is completely sorted and returned the right half of the list is then processed in similar fashion after both the left and right sublists have been orderedthe two lists are merged using the mergesortedlists(function from section the new sorted list is returned listing implementation of the merge sort algorithm for use with python lists sorts python list in ascending order using the merge sort algorithm def pythonmergesortthelist )check the base case the list contains single item if len(thelist< return thelist else compute the midpoint mid len(thelist/ split the list and perform the recursive step lefthalf pythonmergesortthelist:mid righthalf pythonmergesortthelistmid#merge the two ordered sublists newlist mergeorderedlistslefthalfrighthalf return newlist the pythonmergesort(function provides simple recursive implementation of the merge sort algorithmbut it has several disadvantages firstit relies on the use of the slice operationwhich prevents us from using the function to sort an array of values since the array structure does not provide slice operation second