um mehrere verschachtelte ('nested') FOR loops miteinander zu kombinieren, gibt es eine feine Lösung:
Code: Alles auswählen
LIST_1 = ['a', 'b']
LIST_2 = ['b', 'c']
for x, y in [(x,y) for x in LIST_1 for y in LIST_2]:
print(x+y)
ab
ac
bb
bc
Soweit so gut. Allerdings habe ich das Thema, dass wenn zwei Werte in den Listen GLEICH sind, diese nicht aufscheinen, am besten gar nicht berücksichtigt werden sollen ('bb'). Wenn x = 'b' ist, soll also y als Wert 'b' gar nicht erst zur Verwendung kommen (noch vor dem Print-Befehl, also noch im Loop).
Ziel ist, die Optimierung des Rechenaufwands, ein 'nachträgliches' Löschen von 'bb' oder dergleichen kommt also leider nicht in Frage. Die Listen LIST_1 bzw. LIST_2 sind überdies vorgegeben.
Setze ich eine entsprechende Regel VOR dem Loop, so erscheint während dem Loop selbst ein 'Syntax error' (da Python ja die Aufgabe hat 'b' mit 'b' zu kombinieren, dies jedoch nicht 'darf' - der Loop führt somit, wenn ich nicht irre, zur Fehlermeldung).
Meine Frage ist daher, ob es eine Möglichkeit gibt, die wie oben dargestellte Kombination der beiden Loops über LIST_1 und LIST_2 so zu modifizieren, dass gleiche Werte erst gar nicht (simultan) für die (hier) weitere Print-Bearbeitung selektiert werden?
Das Ergebnis sollte dann also, aus der Iteration heraus wurzelnd, so aussehen:
ab
ac
bc
Danke für jegliche Ideen,
QT