bonjour,
en cherchant à optimiser des traitements itératifs longs et remplis de if a==b, je me suis rendus compte que ce qui importait dans mon code était plutôt que a!=b
je me demande du coup la question de la performance, rapidité.
qu'est-ce qui va plus vite à faire :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if a==b: traitement1 else: traitement2
Sachant que j'ai 9 chances sur 10 qu'il y ait une égalité avec mes jeux de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if a!=b: traitement2 else: traitement1
Mes variables a et b sont des chaines très longues, donc je suppose que python arrête la comparaison dès que l'un des caractères parcouru est différent non ?
donc je me dis que mon code ira plus vite en testant la différence plutôt qu'en testant l'égalité.
je m'expliquer,
si a="eeeeeeeeeeeeeeeeeeeeeee"
si b="eXeeeeeeeeeeeeeeeeeeeee"
quand je cherche l'égalité, je suppose que python teste a[0] avec b[0], puis a[1] avec b[1].... mais au niveau x[1] des chaines il ya déjà une différence, est-ce que python teste quand-même l'intégralité de la chaine avant de continuer le process ?
qu'en pensez-vous ?
Partager