Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как удалить элементы списка по условию в Python?

ПрограммированиеData science+3
Анонимный вопрос
Data Science
  · 5,8 K
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 25 авг 2022
Удаление нескольких элементов списка, соответствующих условию. Удаление элементов, удовлетворяющих условию, эквивалентно извлечению элементов, не удовлетворяющих условию. Именно поэтому используются представления List. 
(.env) boris@boris-All-Series:~/MATRIXPCA$ cat RemoveCondition.py
listRep = list(range(28))
print(listRep)
print('Remove all the not divideable by 3  elements ')
print( [i for i in listRep if i % 3 == 0] )
print('Remove all divideable by 3  elements ')
print( [i for i in listRep if i % 3 != 0] )
(.env) boris@boris-All-Series:~/MATRIXPCA$ python3 RemoveCondition.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27]
Remove all the not divideable by 3  elements 
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
Remove all divideable by 3  elements 
[1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26]
1 эксперт согласен
Другой пример с lambda функцией и filter() ======================================= boris@boris-All-Series:~/REMOVE... Читать дальше
программист  · 25 авг 2022
Пусть у вас есть ф-ия, которая говорит, что элемент "хороший" и его надо оставить:
def is_good_elem(x):
Тогда в порядке чистоты будут: filter \ list comprehension \ for.
filter будет выглядеть так:
only_good_list = list( filter( is_good_elem, x))
2 эксперта согласны
Пример с lambda функцией и filter()
Инженер путей сообщения – строитель  · 25 авг 2022
Перебрать элементы списка в обратном порядке, проверить для каждого элемента условие и если оно окажется верным удалить элемент и перейти на следующую итерацию? По крайней мере, в подавляющем большинстве языков программирования этот способ прекрасно работает.
1 эксперт согласени1 эксперт не согласен
В пайтон есть специальные конструкции для удаления элементов из списка. Смотри например, https://yandex.ru/q/tech/1... Читать дальше