2017-04-19 7 views
0

nehme ich an eine verschachtelte Schleife der Form haben:Kombinat für Schleifen in Python verschachtelt

for i in List1: 
    for j in List2: 
     DoSomething(i,j) 

Kann es wie folgt geschehen:

So zu klären

for i,j in combine(List1, List2): 
    DoSomething(i,j) 

Vielen Dank im Voraus Die Kombinationsfunktion würde etwas wie folgt tun:

List1 = range(5) 
List2 = range(5) 
combine(List1, List2,) 
>>> (0,0) 
>>> (0,1) 
>>> (0,2) 
. 
. 
. 
>>> (2,4) 
>>> (3,0) 
. 
. 
. 

Die itertools.product funktioniert perfekt

+1

verwenden können, was Sie tatsächlich Problem, das Sie versuchen zu lösen? Ja, Sie können Listen kombinieren, aber die verschachtelte Schleife funktioniert wie ein zweidimensionales Array. Wie würde sich der Mähdrescher verhalten? Bitte aktualisieren Sie Ihren Beitrag, um Ihre Frage einzuschränken. – Jeroen

+0

Ich würde sagen, er will 'DoSomething' in einer verschachtelten Schleife ohne explizite Verschachtelung von Schleifen. IMO die Frage ist nicht sehr ausführlich, aber in diesem Ausmaß klar. Und die perfekte Antwort wurde bereits gegeben: http://StackOverflow.com/a/43498876/6525140 – mhoff

Antwort

0

Sie itertools.product

import itertools 
for i,j in itertools.product(List1, List2): 
    DoSomething(i,j) 
Verwandte Themen