Code python list
Bonjour à tous,
voici un code
J'applique la fonction à
et voici le résultat
C'est drôle, quand je fais
for word in words:
print(word)
il affiche so mais quand c'est dans la fonction, il le prend pas en compte, c'est très bizarre.
voici un code
def update_dic(message, date, user): ''' P ''' # Message pre processing message = message.replace("\"","") message = message.replace("!","") for pattern in patterns_to_delete: message = message.replace(pattern,"") print("message", message) # split by word words = message.split() print("words before", words) print("so", 'so' in words_to_delete) for word in words: print("word", word) print("******************************************") if word in words_to_delete : words.remove(word) print("words", words)
J'applique la fonction à
texto = "Yeah so maybe before" update_dic(texto, "date", "user")
et voici le résultat
message Yeah so maybe before words before ['Yeah', 'so', 'maybe', 'before'] so True word Yeah ****************************************** word maybe ****************************************** words ['so', 'before']
C'est drôle, quand je fais
for word in words:
print(word)
il affiche so mais quand c'est dans la fonction, il le prend pas en compte, c'est très bizarre.
Réponses
-
Bonjour mcd.
Et avec un exemple minimal compréhensible, qu'est-ce que cela donne ? -
mcd écrivait :
for word in [b]words[/b]: print("word", word) print("******************************************" ) if word in words_to_delete : [b]words[/b].remove(word)
Bonjour, je ne connais pas bien python mais il me semble qu'on ne peut pas modifier la liste sur laquelle on est en train de boucler (ou que le résultat n'est pas toujours celui attendu).
il y a des discussions sur ce sujet par là : python1 python2
Les pros de python du forum confirmeront (ou pas). -
Bonjour,
> il me semble qu'on ne peut pas modifier la liste sur laquelle on est en train de boucler
C'est effectivement une très mauvaise idée, quel que soit le langage.
Cordialement,
Rescassol -
Non, ça passe :
>>> l=[1,2,3,4] >>> for i in l: ... if i==2: ... del l[-1] ... print(i,l) ... 1 [1, 2, 3, 4] 2 [1, 2, 3] 3 [1, 2, 3]
Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe -
Nicolas
ok mais alors qu'est-ce qui ne va pas dans le code de mcd ? -
Bonjour,
Ça peut passer, mais c'est aléatoire en général.
Ça s'appelle scier la branche sur laquelle on est assis, on ne tombe pas à tous les coups, mais c'est risqué.
Cordialement,
Rescassol -
C’est quoi, patterns_to_delete ?
Et words_to_delete ?Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe -
Rien.
-
Bonjour à tous merci pour vos retours.
Je comprends mieux le problème.
C’est quoi, patterns_to_delete ? C'est une liste de pattern que j'aimerais supprimer par exemple "\"
Et words_to_delete ? c'est une liste de mots que j'aimerais supprimer par exemple "will"
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 69 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres