1. Apprendre
  2. /
  3. Cours
  4. /
  5. Boîte à outils Python

Connected

Exercice

Utiliser * et zip pour « décompresser »

Vous savez utiliser zip() et afficher les valeurs d'un objet zip. Excellent !

Explorons zip() un peu plus. Il n'existe pas de fonction unzip qui fasse l'inverse de zip(). Par contre, on peut inverser ce qui a été « compressé » avec zip() en réutilisant zip() avec un petit coup de pouce de * ! L'opérateur * décompresse un itérable, comme 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, mutants et powers, ont été préchargés.

Instructions

100 XP
  • Créez un objet zip en appelant zip() sur mutants puis powers, dans cet ordre. Assignez le résultat à z1.
  • Affichez les tuples de 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() aura épuisé les éléments de z1, recréez l'objet zip défini plus tôt et assignez de nouveau le résultat à z1.
  • « Décompressez » les tuples de z1 en les décompressant en arguments positionnels à l'aide de l'opérateur * dans un appel à zip(). Assignez les résultats à result1 et result2, dans cet ordre.
  • Les dernières instructions print() affichent le résultat de la comparaison de result1 avec mutants et de result2 avec powers. Cliquez sur "Soumettre la réponse" pour voir si result1 et result2 décompressés sont équivalents à mutants et powers, respectivement.