a = [1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5]
counts = collections.Counter(a)
list(itertools.chain.from_iterable([[k for _ in range(counts[k])] for k in
    sorted(counts, key=counts.__getitem__, reverse=True)]))
Сортировка списка по частоте появления в списке