@nihi1ist

Как переметить нулевые значения в конец списка?

Есть список с числами, среди элементов списка есть нули. Подскажите как переместить нулевые значения в конец этого же списка или нового с помощью list comprehension и/или срезов?
  • Вопрос задан
  • 817 просмотров
Решения вопроса 2
Vindicar
@Vindicar
RTFM!
original_list = [0,1,8,3,0,4,5,0,0] #исходный список
new_list = [x for x in original_list if x != 0] #только ненулевые элементы
how_many_zeros =  len(original_list) - len(new_list) #сколько нулей потеряли?
new_list.extend( [0] * how_many_zeros ) # добавляем нужное количество нулей в конец
Ответ написан
@Drill
Как переметить нулевые значения в конец списка?

lst = [0,1,8,3,0,4,5,0,0]
lst.sort(key=bool, reverse=True)

print(lst)
[1, 8, 3, 4, 5, 0, 0, 0, 0]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы