Merci pour tous ces conseils avisés ! Surtout pour le collections.Counter je pense que ça va me servir...
import fileinput
for line in fileinput.input():
Ma ligne peut avoir une longueur variable. J’aurais toujours besoin de la traiter en morceau de N caractères car je ne vais pas itérer sur tous les caractères de la ligne si je n’ai pas besoin de conserver des chaînes de plus de N caractères. J’ai également besoin d’avoir la fréquence de chaînes telles que "titi\ntoto" je devrais donc conserver un certain nombre de caractères de la ligne précédente à chaque fois...
J’ai trouvé plus simple d’avoir une sorte de « fenêtre » (buf) qui va « glisser » sur mon entrée... Par exemple si je prends un MAXLEN de 2 et que mon entrée est "abcd\n" j’aurais tour à tour :
ab
bc
cd
d\n
Avec MAXLEN à 3 j’aurais, en plus :
abc
bcd
cd\n
si tu crois que tu as besoin de gérer la mémoire toi-même en Python
Non, j’ai bien conscience que ce n’est pas à moi de gérer la mémoire.
[^] # Re: On dirait du C
Posté par Marotte ⛧ . En réponse au journal Analyse de texte. Évalué à 2.
Merci pour tous ces conseils avisés ! Surtout pour le collections.Counter je pense que ça va me servir...
Ma ligne peut avoir une longueur variable. J’aurais toujours besoin de la traiter en morceau de N caractères car je ne vais pas itérer sur tous les caractères de la ligne si je n’ai pas besoin de conserver des chaînes de plus de N caractères. J’ai également besoin d’avoir la fréquence de chaînes telles que "titi\ntoto" je devrais donc conserver un certain nombre de caractères de la ligne précédente à chaque fois...
J’ai trouvé plus simple d’avoir une sorte de « fenêtre » (buf) qui va « glisser » sur mon entrée... Par exemple si je prends un MAXLEN de 2 et que mon entrée est "abcd\n" j’aurais tour à tour :
Avec MAXLEN à 3 j’aurais, en plus :
Non, j’ai bien conscience que ce n’est pas à moi de gérer la mémoire.