Python помогите пожалуйста

input()
cnt = [0] * 1001
for n in map(int, input().split()):
cnt[n] += 1
result = []
for i in range(1000, -1, -1):
if cnt[i]:
result.extend([i] * cnt[i])
print(*result)
Или еще короче:
input()
nums = list(map(int, input().split()))
print(*sorted(nums, reverse=True))
Первое решение более эффективно использует память, избегая создания промежуточных списков, а extend() работает быстрее чем sum() с вложенными списками.
Второе решение нахально простое, но с точки зрения семантики кода идеально передает суть задачи - "отсортировать в порядке убывания", и при этом выполняется за O(n log n), что для малых наборов данных будет даже быстрее чем сортировка подсчетом с обходом всех 1001 элементов.
Сортировка подсчётом - это вот:
input() # кол-во чисел не нужно
cnt = [0] * 1001
for n in map(int, input().split()):
cnt[n] += 1
print(' '.join(sum(([str(i)] * cnt[i] for i in range(len(cnt)-1, -1, -1)), [])))
А ответ Зверева к сортировке подсчётом никакого отношения не имеет.
И кстати, в реальной жизни сортировка подсчётом используется, когда количество чисел намного превышает мощность множества их значений. Иначе обход массива частот убивает всю экономию пробегов по данным. В данном случае мы пробежим один раз N элементов и один раз - 1001 элемент.
В данном случае, когда диапазон значений в 10 раз превышает длину массива, лучше было бы использовать цифровую сортировку с основанием 32. В 4 прохода (2 чтения и 2 записи) любой массив данных был бы отсортирован, а длина массива частот была бы 32, а не 1001, как сейчас. Общее количество пройденных элементов было бы для N = 100: 4*100 + 4*32 = 528.
Библиотечная сортировка (обычно там используется сортировка Хоара или сортировка слиянием) сделает на 100 элементах порядка log2(100)=7 проходов, т.е. общая длина пробега - 700. Это меньше, чем для сортировки подсчётом (1001+100 = 1100), но больше, чем для цифровой. Правда при неудачном выборе опорных элементов пробегов будет больше.
x = int(input())
s = ''
arr = []
n = str(input())
a = list(n.split(' '))
a.sort()
for i in a:
s = s+i+' '
print(s)