Удалить элементы списка по условию
📁 метод, список, python
Есть список
lst = [0, 95, 0, 76, 0, 23, 68, 0, 23, 156, 95]Требуется удалить каждый элемент, следующий за 0
чтобы получить на выходе:
new_lst = [0,0,0,68,0,156,95]Метод str.index() не помогает мне, так как возвращает только первое совпадение, а c enumerate пока не получается.
lst = [0, 95, 0, 76, 0, 23, 68, 0, 23, 156, 95]# Поскольку перед первым элементом # нет ничего (и нуля в том числе, что соответствует условию), # то он добавляется в любом случае.# К тому-же при i == 0, i - 1 == -1 исключения не будет,# так-как элемент с индексом -1 присутствует в списке,# это последний элемент списка # Через циклnew_list = []for i in range(len(lst)): if i == 0 or lst[i - 1] != 0: new_list.append(lst[i])print(new_list)# Через генераторprint([lst[i] for i in range(len(lst)) if i == 0 or lst[i - 1] != 0]) Войдите чтобы оставить ответ