IniziaInizia gratis

Usare * e zip per "decomprimere"

Sai come usare zip() e come stampare i valori da un oggetto zip. Eccellente!

Proviamo ancora un po' con zip(). Non c'è una funzione di decompressione che fa il contrario di quello che fa zip(). zipPossiamo però invertire quello che è stato assemblato in modo iterabile usando zip()\ con un piccolo aiuto da ` *``! * ` scompone un oggetto iterabile come una lista o una tupla in argomenti posizionali in una chiamata di funzione.

In questo esercizio userai * in una chiamata a zip() per decomprimere le tuple prodotte da zip().

Sono state caricate in anticipo due coppie di stringhe, mutants e powers.

Questo esercizio fa parte del corso

Strumenti per Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un oggetto zip usando zip() su mutants e powers, in quest'ordine. Assegna il risultato a z1.
  • Stampa le tuple in z1 decomprimendole in argomenti posizionali usando l'operatore * in una chiamata print().
  • Dato che la chiamata precedente print() avrebbe esaurito gli elementi in z1, ricrea l'oggetto zip che hai definito prima e assegna di nuovo il risultato a z1.
  • "Decomprimi" le tuple in z1 mettendole negli argomenti posizionali usando l'operatore * in una chiamata zip(). Metti i risultati in result1 e result2, in quest'ordine.
  • L'ultima istruzione " print() " mostra il risultato del confronto tra result1 e mutants e tra result2 e powers. Clicca su Submit Answer per vedere se i file decompressi result1 e result2 sono uguali a mutants e powers, rispettivamente.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice