J'ai une fonction remove_it()
qui essaie de supprimer certaines données et les données supprimées sont ajoutées à l'ensemble removed
. La logique principale est que s'il y a plus à enlever, continuez à enlever et mon code ressemble à ceci :
removed = set()
prev_count = -1
while prev_count != len(removed):
prev_count = len(removed)
remove_it()
Cela me dérange un peu que le while
La condition de la boucle et la ligne suivante se ressemblent beaucoup. Est-ce normal ou existe-t-il une meilleure façon de procéder ?
La logique dans remove_it()
est assez compliqué : il détecte une topologie de structure de graphe et après chaque tour de suppression, la topologie change et je ne peux pas savoir comment elle change avant que la suppression ne soit faite.
Je pensais renvoyer la valeur bool de remove_it()
pour savoir si l'ensemble removed
a changé. La boucle while serait alors la suivante
while remove_it():
pass
ce qui me paraît également étrange. Existe-t-il un meilleur moyen ?