Bonjour à tous
Je développe depuis un certain temps en Python et j'ai pris une certaine habitude. Et je viens ici afin d'avoir des conseils savoir si ce que je fais est bien ou pas.
Cela part au départ d'un objet style toto qui contient une méthode style start()
1 2 3 4
| class toto:
def start(self):
...
# class toto |
Ensuite, il m'arrive d'avoir non pas une instance mais un tableau d'instances, style
tab=[toto(), toto(), toto(), toto(), toto()]
Et là où je veux en venir, c'est quand je veux appeler toutes les méthodes start. J'ai donc 2 façons de faire
La première, une boucle classique
1 2
| for t in tab:
t.start() |
Et la seconde, passer par une list comprehension
Et moi, je prends de plus en plus l'habitude de passer par la seconde méthode car c'est plus pratique à écrire. Surtout si je dois en plus filtrer certains éléments
1 2 3
| for t in tab:
if t...:
t.start() |
[t.start() for t in tab if t...]
Mais ce qui me gène c'est que dans la seconde méthode je génère une liste pour rien puisque je ne la récupère pas.
Et donc je venais ici afin d'avoir vos avis sur les deux façons de faire et la meilleure à utiliser pour éviter de gaspiller des ressources.
Merci
Partager