Använda * och zip för att 'packa upp'
Nu kan du använda zip() och skriva ut värden från ett zip-objekt. Bra jobbat!
Låt oss utforska zip() lite till. Det finns ingen unzip-funktion för att vända på det som zip() gör. Däremot kan vi vända på det som har paketerats med zip() genom att använda zip() tillsammans med *! * packar upp ett itererbart objekt, till exempel en lista eller en tupel, som positionsargument i ett funktionsanrop.
I den här övningen använder du * i ett anrop till zip() för att packa upp tuplerna som zip() producerar.
Två tuplar med strängar, mutants och powers, har laddats in i förväg.
Den här övningen är en del av kursen
Python Toolbox
Övningsinstruktioner
- Skapa ett
zip-objekt genom att användazip()påmutantsochpowers, i den ordningen. Tilldela resultatet tillz1. - Skriv ut tuplerna i
z1genom att packa upp dem som positionsargument med*-operatorn i ettprint()-anrop. - Eftersom det föregående
print()-anropet har tömt elementen iz1, återskapa detzip-objekt du definierade tidigare och tilldela resultatet tillz1igen. - 'Packa upp' tuplerna i
z1genom att använda*-operatorn i ettzip()-anrop. Tilldela resultaten tillresult1respektiveresult2, i den ordningen. - Den sista
print()-satsen skriver ut resultatet av att jämföraresult1medmutantsochresult2medpowers. Klicka påSkicka in svarför att se om de uppackaderesult1ochresult2är ekvivalenta medmutantsrespektivepowers.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)