112 votes

Boucles For imbriquées à l’aide de la compréhension de liste

Si j’avais deux chaînes, et , je pourrais obtenir toutes les combinaisons d’entre eux en utilisant deux boucles for:

Cependant, j’aimerais pouvoir le faire en utilisant la compréhension de la liste. J’ai essayé de nombreuses façons, mais je n’ai jamais réussi à l’obtenir. Quelqu’un sait-il comment faire cela?

171voto

aaronasterling Points 25749
<pre><code></code><p>ou</p><pre><code></code></pre><p>si vous voulez des tuples.</p><p><code></code><code></code> est la boucle interne.</p><p>Essentiellement, vous pouvez avoir autant de clauses indépendantes « pour x dans y » que vous le souhaitez dans une compréhension de liste simplement en collant l’une après l’autre.</p></pre>

42voto

miles82 Points 1810

Comme il s’agit essentiellement d’un produit cartésien, vous pouvez également utiliser itertools.product. Je pense que c’est plus clair, surtout quand vous avez plus d’itérables d’entrée.

-1voto

Stefan Gruenwald Points 494

Essayez également la récursivité :

Vous donne les 8 combinaisons:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X