ZIP |
Zip |
---|---|
Python |
Syntaxe
zip() |
zip(iterable,...) |
Paramètres
Nom | Description |
---|---|
iterable | Ce paramètre permet d'indiquer l'objet itérable. |
Description
Cette fonction permet de retourne une liste de tuples, où le i-ème tuple contient le i-ème élément de chacune des séquences de paramètres ou des itérables.
Algorithme
MODULE ZIP(↑itérables) * Créer un itérateur pour chaque itérable Itérateurs = {} BOUCLE POUR CHAQUE itérable dans itérables FAIRE itérateurs.ajouter(itérable.en_iterateur()) FIN BOUCLE POUR CHAQUE * Créer une liste vide pour les résultats résultats = {} * Tant qu'il y a des éléments dans tous les itérateurs BOUCLE TANT QUE tout(itérateurs) FAIRE * Créer un tuple en prenant un élément de chaque itérateur tuple_resultat = {} BOUCLE POUR CHAQUE itérateur dans itérateurs FAIRE * Si l'itérateur a encore un élément SI itérateur.a_suivant() ALORS tuple_resultat.ajouter(itérateur.suivant()) SINON RETOURNE résultats * Terminer si un itérateur est épuisé FIN SI FIN BOUCLE POUR CHAQUE * Ajouter le tuple au résultat résultats.ajouter(tuple_resultat) FIN BOUCLE POUR CHAQUE RETOURNE résultats |
Remarques
- La liste retournée est tronquée en longueur à la longueur de la séquence de paramètres la plus courte. Lorsqu'il y a plusieurs paramètres étant tous de la même longueur, la fonction zip() est similaire à map() avec un paramètre initial de None. Avec un seul paramètre de séquence, il renvoie une liste de 1-tuples. Sans paramètre, il retourne une liste vide.
- L'ordre d'évaluation de gauche à droite des itérables est garanti. Cette situation rend possible un idiome pour regrouper une série de données en groupes de n longueurs en utilisant zip(*[iter(s)]*n).
Dernière mise à jour : Mercredi, le 14 septembre 2016