Suppression d'un élément de la liste - pendant l'itération - quel est le problème avec cet idiome?

Comme une expérience, j'ai fait ça:

letters=['a','b','c','d','e','f','g','h','i','j','k','l']
for i in letters:
    letters.remove(i)
print letters

La dernière impression montre que tous les éléments ont été supprimés ? (tous les autres).

IDLE 2.6.2      
>>> ================================ RESTART ================================
>>> 
['b', 'd', 'f', 'h', 'j', 'l']
>>> 

Quelle est l'explication pour cela ? Comment cela pourrait-il être ré-écrit pour supprimer chaque élément ?

source d'informationauteur monojohnny