_, lst = input(), input().split()
print(*filter('0'.__ne__, lst), *filter('0'.__eq__, lst))
P.S. Чем ответ Андрея на такой же вопрос не устроил? n, lst = int(input()), input().split()
i, j = 0, 0
while j < n and lst[j] == '0':
j += 1
while j < n:
if lst[j] != '0':
lst[i], lst[j] = lst[j], lst[i]
i += 1
j += 1
print(*lst)
s = input().split(' ')
# 0 0 6 0 9 8
r1,r2 = [],[]
for i in s:
if not int(i):
r2 += i
else:
r1 += i
res = ' '.join(r1 + r2)
print(res)
6 9 8 0 0 0
У вас есть массив оценок, и некоторые из них — 0. Ваша задsача — переместить все оценки 0 в конец списка, сохранив при этом порядок остальных оценок.
Первым параметром на вход программы подается размер массива. Вторым параметром – сам массив (значения указаны через пробел).
На выходе ожидается строка из элементов массива (значения должны быть указаны через пробел).
Пример 1
Входные данные
6
0 0 6 0 9 8
Выходные данные
6 9 8 0 0 0