En Python, la fonction `zip()` et la fonction `zip_longest()` sont toutes deux utilisées pour associer des éléments dans plusieurs objets itérables. Leur fonction est de regrouper les éléments à la même position dans plusieurs objets itérables dans un tuple et de renvoyer un itérateur.
La fonction `zip()` accepte n'importe quel nombre d'objets itérables comme arguments et renvoie un itérateur qui produit un tuple contenant l'élément à la même position de chaque objet itérable. Si les itérables sont de longueurs différentes, la fonction `zip()` parcourra l'itérable le plus court.
Voici un exemple de la fonction `zip()` :
numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
result = zip(numbers, letters)
for item in result:
print(item)
输出:
(1, 'a')
(2, 'b')
(3, 'c')
La fonction `zip_longest()` est également similaire à la fonction `zip()`, mais elle parcourt l'itérable le plus long et utilise le paramètre `fillvalue` pour remplir les itérables dont la longueur est insuffisante.
Voici un exemple de la fonction `zip_longest()` :
from itertools import zip_longest
numbers = [1, 2, 3]
letters = ['a', 'b']
result = zip_longest(numbers, letters, fillvalue='')
for item in result:
print(item)
输出:
(1, 'a')
(2, 'b')
(3, '')
En résumé, la fonction `zip()` et la fonction `zip_longest()` sont toutes deux utilisées pour associer des éléments de plusieurs objets itérables. La fonction `zip()` parcourt l'itérable le plus court, tandis que la fonction `zip_longest()` parcourt l'itérable le plus long et utilise le paramètre `fillvalue` pour remplir les itérables dont la longueur est insuffisante.