Betrachten Sie, es gibt eine Liste A = [ [ ], [ ], ..., [ ] ]
(n-mal). Und jede Unterliste von A enthält mehrere Listen in ihnen. Was ich tun möchte, ist, sie gleichzeitig zu durchlaufen. Es kann einfach mit der Funktion "itertools.product
" aus der itertools-Bibliothek durchgeführt werden. Etwas wieWie iteriere ich in einem kaskadierten Format (in einer for-Schleife) über eine Liste unbekannter Länge in Python?
for i,j,k in itertools.product(A[0],A[1],A[2]):
#my code
wird ausreichen. Allerdings weiß ich nicht die Länge der Liste A. Wenn es 3 ist, kann ich den obigen Code verwenden. Zur Zeit mache ich so etwas wie diese
if len(A) == 2:
for i,j in itertools.product(A[0],A[1]):
#my code
elif len(A) == 3:
for i,j,k in itertools.product(A[0],A[1],A[2]):
#same code with minor changes to include parameter k
elif len(A) == 4:
for i,j,k,l in itertools.product(A[0],A[1],A[2],A[3]):
#same code with minor changes to include parameter k and l
Da diese mühsam ist, wollte ich wissen, ob es eine allgemeine Lösung anderes Verständnis oder etwas mit Liste ist. Ich schreibe in Python.
Braucht es eine for-Schleife sein? Es gibt andere Möglichkeiten, Listen unbekannter Länge zu durchlaufen – jmugz3
Nicht unbedingt eine for-Schleife, aber es sollte den Zweck erfüllen. Jedenfalls habe ich die Lösung (mit * -Unpacking) – codingCoffee