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é zip
ped 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
Instructions
- Créez un objet
zip
en utilisantzip()
surmutants
etpowers
, 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 appelprint()
. - Comme l'appel précédent à
print()
aurait épuisé les éléments dez1
, recréez l'objetzip
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 appelzip()
. Attribuez les résultats àresult1
etresult2
, dans cet ordre. - La dernière instruction
print()
imprime le résultat de la comparaison entreresult1
etmutants
et entreresult2
etpowers
. Cliquez surSubmit Answer
pour voir si les fichiers décompressésresult1
etresult2
sont équivalents àmutants
etpowers
, 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)