Fonction zip() de Python

Python 内置函数Fonctions intégrées de Python


Description

zip()La fonction prend des objets itérables comme paramètres, regroupe les éléments correspondants des objets dans des tuples un par un, puis renvoie une liste composée de ces tuples.

Si le nombre d'éléments dans chaque itérateur est incohérent, la longueur de la liste renvoyée est la même que celle de l'objet le plus court. En utilisant l'opérateur *, les tuples peuvent être dépaquetés en listes.

La différence entre la méthode zip dans Python 2 et Python 3 : dans Python 3.x, pour réduire l'utilisation de la mémoire, zip() renvoie un objet. Pour afficher une liste, vous devez la convertir manuellement avec list().

Si vous avez besoin de comprendre l'utilisation de Python 3, vous pouvez vous référer àPython3 zip()。

Syntaxe

Syntaxe de zip :

zip([iterable, ...])

Description du paramètre :

  • iterable -- un ou plusieurs itérateurs ;

Valeur de retour

Renvoie une liste de tuples.

Exemples

Les deux exemples suivants montrent respectivementPython2.xetPython3.x zipl'utilisation :

Exemple (Python 2.0+)

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # Empaqueter dans une liste de tuples
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # Le nombre d'éléments est le même que celui de la liste la plus courte
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # Contrairement à zip, *zipped peut être compris comme un dépaquetage, renvoyant un format de matrice bidimensionnelle
[(1, 2, 3), (4, 5, 6)]

Exemple (Python 3.0+)

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # Renvoie un objet
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped)  # list() convertit en une liste
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c))              # Le nombre d'éléments est le même que celui de la liste la plus courte
[(1, 4), (2, 5), (3, 6)]

>>> a1, a2 = zip(*zip(a,b))          # Contrairement à zip, zip(*) peut être compris comme un dépaquetage, renvoyant un format de matrice bidimensionnelle
>>> liste(a1)
[1, 2, 3]
>>> liste(a2)
[4, 5, 6]
>>>

Python 内置函数Fonctions intégrées de Python

Autres extensions