Je sais que pour la création de listes, vous pouvez raccourcir quelques lignes à quelque chose comme (en python):Raccourcissement boucle pour envoyer des commandes à travers le tuyau - python
a = [k*2 for k in range(10)]
Pouvez-vous faire pour l'envoi de données par un tuyau. (en utilisant un module multi-traitement dans ce cas). par exemple:
k = 'hello'
[channel.send(k) for channel in channels]
au lieu de:
k = 'hello'
for channel in channels:
channel.send(k)
Toute suggestion serait génial! Merci d'avance.
EDIT: A été répondu. Liste les mauvaises idées. Il suffit de garder propre à une ligne:
k = 'hello'
for channel in channels: channel.send(k)
Vous pouvez mais vous ne devriez pas. https://twitter.com/raymondh/status/902658204345049088 –
Dans ce cas non, vous ne devriez pas utiliser une compréhension de liste. Ils ne doivent être utilisés que lorsque vous essayez de créer une liste de valeurs. Si vous devez simplement parcourir une itération, utilisez une boucle for normale. –
En outre, vos deux exemples ont la même longueur * exacte; la compréhension de la liste remplace le ':' et la nouvelle ligne par un '[' et ']'. En fait, vous pouvez écrire la boucle 'for' sur une ligne, auquel cas la compréhension de la liste est * plus longue *, en plus d'être moins efficace. – chepner