La fonction zip en Python
La fonction zip permet de regrouper plusieurs itérables en un seul. On l’utilise souvent quand on veut parcourir plusieurs iterables en une seul fois dans une boucle for par exemple. Ou bien pour regrouper plusieurs sequences en une liste de tuples.
Syntaxe de la fonction zip :
a = [1, 2, 3]
b = ['a', 'b', 'c']
print(list(zip(a, b)))
Ce qui donnera :
[(1, 'a'), (2, 'b'), (3, 'c')]
Explications video de la fonction zip en moins d’une minute.
Voyons plus en details comment fonctionne zip en Python.
Comment utiliser la fonction zip ?
Disons qu’on ait trois listes de même taille qui contiennent des informations sur des élèves :
- la première liste contient leur prénom
- la deuxième liste contient leur date de naissance
- et la troisième liste contient la moyenne de leur note
prenoms = ["Alice", "Bob", "Charlie"]
dates_naissance = ["01/01/2000", "15/03/1999", "22/07/2001"]
moyennes = [16.5, 14.2, 18.0]
on voudrait avoir un seul objet qui regroupe pour chaque élève son prénom sa date de naissance et sa moyenne
pour ça on peut utiliser la fonction zip qui prend des itérables en paramètres et qui renvoie un objet de type zip qu’on peut ensuite transformer en itérable lui-même
on va donc faire zip et lui passer nos trois listes prénom date de naissance et moyenne des notes.
donnees_eleves = zip(prenoms, dates_naissance, moyennes)
Mais quand on affiche donnees_eleves
avec la fonction print, on a un objet de type zip qui ressemble a <zip object at 0x123abc666>
Pour le rendre lisible par les humains, on peut transformer le résultat de la fonction zip en liste avec la fonction list().
donnees_eleves = list(zip(prenoms, dates_naissance, moyennes))
Et puis on va afficher cette liste en utilisant la fonction print
print(donnes_eleves)
En lançant notre programme on voit qu’on a bien une liste avec un tuple par élève qui contient ces trois attributs.
[('Alice', '01/01/2000', 16.5), ('Bob', '15/03/1999', 14.2), ('Charlie', '22/07/2001', 18.0)]
Utilisez la fonction zip dans vos programmes !
Et voila, vous savez maintenant quand et comment utiliser la fonction zip en Python !
La fonction zip
en Python est un pratique pour manipuler plusieurs itérables en meme temps.
Mieux comprendre la fonction zip fera de vous un meilleur dev python !
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.