ComenzarEmpieza gratis

Uso de * y zip para "descomprimir"

Sabes cómo utilizar zip() y cómo imprimir valores de un objeto zip. ¡Excelente!

Juguemos un poco más con zip(). No existe una función de descompresión para hacer lo contrario de lo que hace zip(). Sin embargo, podemos invertir el resultado de zip utilizando zip() con un poco de ayuda de *. * descomprime un iterable como una lista o una tupla en argumentos posicionales en una llamada a función.

En este ejercicio, utilizarás * en una llamada a zip() para descomprimir las tuplas producidas por zip().

Se han precargado dos tuplas de cadenas, mutants y powers.

Este ejercicio forma parte del curso

Caja de herramientas Python

Ver curso

Instrucciones de ejercicio

  • Crea un objeto zip utilizando zip() en mutants y powers en ese orden. Asigna el resultado a .
  • Imprime las tuplas de z1 descomprimiéndolas en argumentos posicionales con el operador * en una llamada a print().
  • Como la llamada anterior a print() habría agotado los elementos de z1, vuelve a crear el objeto zip que definiste anteriormente y asigna de nuevo el resultado a z1.
  • "Descomprime" las tuplas de z1 descomprimiéndolas en argumentos posicionales con el operador * en una llamada a zip(). Asigna los resultados a result1 y result2 en ese orden.
  • Las últimas declaraciones print() imprimen la salida de comparar result1 con mutants y result2 con powers. Haz clic en Submit Answer para ver si result1 y result2 descomprimidos son equivalentes a mutants y powers, respectivamente.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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)
Editar y ejecutar código