29 votes

Créer un dictionnaire en faisant passer deux listes de longueur inégale

<p>J’ai deux listes de longueurs différentes, L1 et L2. La L1 est plus longue que la L2. Je voudrais obtenir un dictionnaire avec les membres de L1 comme clés et les membres de L2 comme valeurs.<p>Dès que tous les membres de L2 sont utilisés. J’aimerais recommencer et recommencer avec la L2[0].</p><pre><code></code></pre><p>Comme prévu, la sortie est la suivante:</p><pre><code></code></pre><p>Ce que je voudrais réaliser, c’est ce qui suit:</p><pre><code></code></pre></p>

36voto

coldspeed Points 111053
<p>Utiliser <a href="https://docs.python.org/3/library/itertools.html#itertools.cycle" rel="noreferrer"><code></code></a> pour faire du vélo jusqu’au début de <code></code> :<pre><code></code></pre><hr><p>Dans votre cas, la concanténation <code></code> avec lui-même fonctionne également.</p><pre><code></code></pre></p>

24voto

Dani Mesejo Points 29634
<p>Utilisez <a href="https://docs.python.org/3/library/itertools.html#itertools.cycle" rel="noreferrer">itertools.cycle</a>:<pre><code></code></pre><p><strong>Sortie</strong></p><pre><code></code></pre><p>Comme alternative, vous pouvez utiliser <a href="https://docs.python.org/3/library/functions.html#enumerate" rel="noreferrer">l’énumération</a> et <code></code> l’index modulo la longueur de <code></code> :</p><pre><code></code></pre></p>

15voto

schwobaseggl Points 31215
<p><code></code> est très bien, mais je vais ajouter cette approche basée modulo:<pre><code></code></pre></p>

5voto

iGian Points 2148
<p>Autre option <strong>sans dépendances</strong> avec bonne <code></code> vieille boucle:<pre><code></code></pre><p>Ou tout simplement:</p><pre><code></code></pre></p>

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