como modificar corretamente o iterador de um loop em python de dentro do loop

o que eu basicamente preciso é verificar todos os elementos de uma lista e, se houver algum critério, eu quero removê-lo da list

Então, por exemplo, digamos que

list=['a','b','c','d','e']

Eu basicamente quero escrever (em princípio e não o código real que tento implementar)

Se um elemento da lista for 'b' ou 'c' remova-o da lista e faça o próxim

Ma

for s in list:
    if s=='b' or s=='c':
        list.remove(s)

falha porque quando 'b' é removido, o loop assume 'd' e não 'c' como o próximo elemento. Então, existe uma maneira de fazer isso mais rápido do que armazenar os elementos em uma lista separada e removê-los depois?

Obrigado

questionAnswers(4)

yourAnswerToTheQuestion