>>> def tri_rapide(l): ... if l == []: return [] ... return (tri_rapide([x for x in l[1:] if x < l[0]]) ... + [l[0]] + tri_rapide([x for x in l[1:] if x >= l[0]])) ... >>> import random >>> alea = [random.randrange(100) for i in range(20)] >>> alea [46, 24, 38, 99, 97, 30, 60, 9, 86, 66, 69, 41, 99, 28, 59, 0, 95, 92, 82, 2] >>> tri_rapide(alea) [0, 2, 9, 24, 28, 30, 38, 41, 46, 59, 60, 66, 69, 82, 86, 92, 95, 97, 99, 99]