Schleife für jedes Element in einer Liste

8

Ich habe ein Wörterbuch:

%Vor%

Ich möchte das kartesische Produkt der beiden erstellen, so dass ich ein Tupel von jedem möglichen Paar bekomme.

%Vor%

Es scheint so, als würde es einen einfachen Weg geben, dies zu tun, so dass es sich ausdehnt, wenn ich drei Dinge habe. Wie eine dynamische Anzahl von Loops. Fühlt sich an, als ob ich einen offensichtlichen Weg vermisse, dies zu tun ...

    
Chris 14.05.2015, 01:49
quelle

4 Antworten

12

Die itertools.product() -Funktion wird dies tun:

%Vor%

Wenn Sie die Reihenfolge der resultierenden Tupel kontrollieren müssen, können Sie dies tun

%Vor%     
Greg Hewgill 14.05.2015, 01:52
quelle
2

Sie können es auch mit zwei Schleifen erzwingen

%Vor%

All dieser Code durchläuft alle Elemente in mydict['item1'] , dann durch jedes Element in mydict['item2'] und hängt dann jeweils ein Paar an eine neue Liste an.

Es wird Ihnen dieses Ergebnis geben:

%Vor%     
michaelpri 14.05.2015 01:53
quelle
0

Sie könnten zwei für Schleifen machen. - Der erste würde die Indexposition der ersten Artikelliste verfolgen. - Die zweite Schleife würde jedes Element in der Sekunde durchlaufen. - Nachdem alle Elemente durchgelaufen sind, wird die erste for-Schleife auf das nächste Element in ihrer Liste erhöht, und die zweite Schleife wird erneut durch die zweite Liste usw. laufen.

    
Snazzymonster 14.05.2015 01:55
quelle
0

Sie können Listenbeschreibungen verwenden:

%Vor%     
kmkaplan 14.05.2015 08:22
quelle