CommencerCommencer gratuitement

Utilisation de * et de zip pour "dézipper".

Vous savez comment utiliser zip() et comment imprimer des valeurs à partir d'un objet zip. Excellent !

Jouons un peu plus avec zip(). Il n'existe pas de fonction de décompression permettant de faire l'inverse de ce que fait zip(). Nous pouvons cependant inverser ce qui a été zipped together en utilisant zip() avec un peu d'aide de *! * décompose un itérable tel qu'une liste ou un tuple en arguments positionnels dans un appel de fonction.

Dans cet exercice, vous utiliserez * dans un appel à zip() pour décompresser les tuples produits par zip().

Deux tuples de chaînes de caractères, mutants et powers, ont été préchargés.

Cet exercice fait partie du cours

Boîte à outils Python

Afficher le cours

Instructions

  • Créez un objet zip en utilisant zip() sur mutants et powers, dans cet ordre. Affectez le résultat à z1.
  • Imprimez les tuples dans z1 en les décompressant en arguments positionnels à l'aide de l'opérateur * dans un appel print().
  • Comme l'appel précédent à print() aurait épuisé les éléments de z1, recréez l'objet zip que vous avez défini précédemment et affectez à nouveau le résultat à z1.
  • Décompressez les tuples dans z1 en les décompressant en arguments positionnels à l'aide de l'opérateur * dans un appel zip(). Attribuez les résultats à result1 et result2, dans cet ordre.
  • La dernière instruction print() imprime le résultat de la comparaison entre result1 et mutants et entre result2 et powers. Cliquez sur Submit Answer pour voir si les fichiers décompressés result1 et result2 sont équivalents à mutants et powers, respectivement.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code