Python List .Remove () In for Loop Breaks

elements = ['el1', 'el2', 'el3', 'el4', 'el5']
for el in elements[:]: #[:] shallow-copies the list
    if el.lower() in ['el2', 'el3', 'el4']:
        elements.remove(el)
// elements -> ['el1', 'el5']
Tommy