def QuickSort(myList):
    if myList == []:
	return []       # Empty lists are sorted by definition
    pivot = myList[0]
    beforePivot = [x for x in myList[1:] if x <= pivot]
    afterPivot  = [x for x in myList[1:] if x >  pivot]
    return QuickSort(beforePivot) + [pivot] + QuickSort(afterPivot)

myList = [4,8,3,5,1,2,7,11,9,2]
print myList
myList = QuickSort (myList)
print myList
