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()
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
for t in tab:
    t.start()

Et la seconde, passer par une list comprehension
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
[t.start() for t in tab]

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
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
for t in tab:
    if t...:
        t.start()

Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
[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