Verwenden von * und zip zum „Entzippen“
Du weißt, wie man zip()
verwendet und wie man Werte aus einem zip
-Objekt ausgibt. Ausgezeichnet!
Spielen wir noch ein bisschen mit zip()
herum. Es gibt keine unzip-Funktion, mit der du das Gegenteil von dem tun kannst, was zip()
tut. Wir können jedoch umkehren, was zusammengezip
ppt wurde, indem wir zip()
mit ein wenig Hilfe von *
verwenden! *
entpackt ein Iterable wie eine Liste oder ein Tupel in Positionsargumente in einem Funktionsaufruf.
In dieser Aufgabe wirst du *
in einem Aufruf an zip()
verwenden, um die von zip()
erzeugten Tupel zu entpacken.
Zwei Tupel von Strings, mutants
und powers
, wurden vorgeladen.
Diese Übung ist Teil des Kurses
Python Toolbox
Anleitung zur Übung
- Erstelle ein
zip
-Objekt, indem duzip()
aufmutants
undpowers
verwendest, in dieser Reihenfolge. Weise das Ergebnisz1
zu. - Gib die Tupel in
z1
aus, indem du sie mit dem*
-Operator in einemprint()
-Aufruf in Positionsargumente entpackst. - Da der vorherige Aufruf von
print()
die Elemente inz1
erschöpft hätte, erstellst du das zuvor definiertezip
-Objekt neu und weist das Ergebnis erneutz1
zu. - ‚Entpacke‘ die Tupel in
z1
, indem du sie mit dem*
-Operator in einemzip()
-Aufruf in Positionsargumente entpackst. Weise die Ergebnisseresult1
undresult2
zu, in dieser Reihenfolge. - Die letzte
print()
-Anweisung gibt die Ergebnisse des Vergleichs vonresult1
mitmutants
undresult2
mitpowers
aus. Klicke aufSubmit Answer
, um zu sehen, ob die entpacktenresult1
undresult2
mitmutants
bzw.powers
übereinstimmen.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Create a zip object from mutants and powers: z1
z1 = ____
# Print the tuples in z1 by unpacking with *
print(____)
# Re-create a zip object from mutants and powers: z1
z1 = ____
# 'Unzip' the tuples in z1 by unpacking with * and zip(): result1, result2
result1, result2 = ____
# Check if unpacked tuples are equivalent to original tuples
print(result1 == mutants)
print(result2 == powers)