Dies funktioniert, um die Kombinationen zu drucken.
%Vor%Aber das:
%Vor%nicht, es wird ausgedruckt
%Vor%Ich muss den Code neu schreiben, damit er wie gewünscht funktioniert.
%Vor%Hier ist meine Frage:
%Vor% Was ist der Unterschied zwischen ihnen? Laut Dokumentation
Das itertools.chain
macht:
Also, warum funktioniert itertools.chain(iter, iter, iter)
auch hier?
Bedeutet es iter, iter, iter = *(iter, iter, iter)
?
bedeutet es iter, iter, iter = * (iter, iter, iter)?
Nicht alleine. Das Entpacken von Argumenten funktioniert nur beim Aufruf einer Funktion, daher sind die folgenden beiden Aufrufe äquivalent:
%Vor% Aber *[1,2,3]
wird nicht kompiliert, es sei denn, es ist Teil eines Anrufs. Sie können normale (Positions-) Argumente mit entpackten Argumenten mischen:
also entspricht das obige auch den vorherigen zwei Aufrufen.