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 zusammengezipppt 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()aufmutantsundpowersverwendest, in dieser Reihenfolge. Weise das Ergebnisz1zu. - Gib die Tupel in
z1aus, indem du sie mit dem*-Operator in einemprint()-Aufruf in Positionsargumente entpackst. - Da der vorherige Aufruf von
print()die Elemente inz1erschöpft hätte, erstellst du das zuvor definiertezip-Objekt neu und weist das Ergebnis erneutz1zu. - ‚Entpacke‘ die Tupel in
z1, indem du sie mit dem*-Operator in einemzip()-Aufruf in Positionsargumente entpackst. Weise die Ergebnisseresult1undresult2zu, in dieser Reihenfolge. - Die letzte
print()-Anweisung gibt die Ergebnisse des Vergleichs vonresult1mitmutantsundresult2mitpowersaus. Klicke aufSubmit Answer, um zu sehen, ob die entpacktenresult1undresult2mitmutantsbzw.powersübereinstimmen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)