Auspacken Liste von Tupeln

idetyp:

Ich wurde heute durch den folgenden Code überrascht:

testcases = [([1, 1, 1], 2, 2)]

for a, b, c in testcases:
    print(a, b, c)

er druckt:

[1, 1, 1] 2 2

Ich erwartete einen Fehler und dachte , dass wir eine zweite Schleife bräuchten , um Tupeln Elemente zu erhalten. Könnte enyone mir erklären , wie es funktioniert? Ich verstehe nicht , wie a, bund czugeordnet sind. Ich habe Python 3.6. Prost!

quamrana;

Schauen wir uns an, was Sie haben:

testcases = [([1, 1, 1], 2, 2)]

Dies ist eine Liste. Von Größe ein. So testcases[0]ist das einzige Element ist.

So diesen Code:

for a, b, c in testcases:
    pass

ist eine Schleife einer Länge. Also jedes Mal durch die Schleife (die nur die einmal ist), erhalten Sie das Element: ([1, 1, 1], 2, 2)die eine ist tuple. Die Größe drei.

So Auspacken , dass: a,b,c = testcases[0]gibt:

a == [1, 1, 1]
b == 2
c == 2

das ist, was Sie gedruckt zu sehen.

Ich denke du magst

Origin http://10.200.1.11:23101/article/api/json?id=405957&siteId=1
Empfohlen
Rangfolge