def move_zeros(array):
no_zero = [i for i in list(array) if i != int(0)]
print(array)
print(no_zero)
for i in range(array.count(0)):
no_zero.append(0)
return no_zero
Это мой код, используемый для codeacademy kata, целью которого является перемещение всех нулей внутри массива списка в начало массива. Мой код работает по большей части, однако есть ситуации, когда код застревает, например, он видит False как ноль, а также такие значения, как 0.0, как мне изменить его так, чтобы он влиял на литеральное число 0
РЕДАКТИРОВАТЬ: был задан пример вывода предполагаемого алгоритма
move_zeros([false,1,0,1,2,0,1,3,"a"])
returns[false,1,1,2,1,3,"a",0,0]
тогда как мой код возвращает
[1, 1, 2, 1, 3, 'a', 0, 0, 0]