J'ai appliqué la solution proposée, le problème persiste
Non ! vous ne déclarez pas copie_doc, ça ne peut pas fonctionner, c'est sans doute une erreur de copier coller, mais si vous dites ça ne fonctionne pas, vérifiez au moins que l'erreur est en rapport avec votre problème en le testant !
Ensuite, je préfère partir d'une liste vide et ajouter les éléments ne comportant pas d'entier, ça évite la copie supplémentaire...
1 2 3 4 5 6 7 8 9 10 11
| import re
document=['alien','g23g','barn','9sa','b24']
copie_doc = []
print('liste originale', document)
for mot in document:
if not re.search('\d+', mot):
copie_doc.append(mot)
print(copie_doc) |
Pour votre erreur avec remove, c'est votre try except continue qui sont des keywords mal utilisés et surtout inutiles.
Voici le code corrigé, cependant ça reste moins naturel en python et dans beaucoup d'autres langages.
1 2 3 4 5 6 7 8 9 10 11
| import re
document=['alien','g23g','barn','9sa','b24']
copie_doc = document[:] # pour une copie (problème de référence)
print('liste originale', document)
for mot in document:
if re.search('\d+', mot):
copie_doc.remove(mot)
print(copie_doc) |
Partager