def mergesort(lst):
    """Recursively divides list in halves to be sorted"""
if len(lst) == 1:
    return lst, 0
middle = len(lst) / 2
left = mergesort(lst[:middle])[0]
right = mergesort(lst[middle:])[0]
sortedlist, splits = merge(left, right)
return sortedlist, splits
Сортировка слиянием для подсчета разделенных инверсий в Python