def qsort(li, reverse=False):
if len(li) == 0: return li
p, *xs = li
left = [x for x in xs if x <= p]
right = [x for x in xs if x > p]
if reverse:
return [*qsort(right, reverse), p, *qsort(left, reverse)]
return [*qsort(left, reverse), p, *qsort(right, reverse)]
li = [5,1,4,2,3]
print(qsort(li, reverse=True))
To embed this project on your website, copy the following code and paste it into your website's HTML: