Zip Python ()

La fonction zip () prend des itérables (peut être zéro ou plus), les agrège dans un tuple et le renvoie.

La syntaxe de la zip()fonction est:

 zip (* itérables)

Paramètres zip ()

Paramètre La description
iterables peuvent être des itérables intégrés (comme: liste, chaîne, dict) ou des itérables définis par l'utilisateur

Lecture recommandée: itérateurs Python, __iter__ et __next__

Valeur renvoyée par zip ()

La zip() fonction renvoie un itérateur de tuples basé sur les objets itérables.

  • Si nous ne passons aucun paramètre, zip()retourne un itérateur vide
  • Si un seul itérable est passé, zip()retourne un itérateur de tuples, chaque tuple n'ayant qu'un seul élément.
  • Si plusieurs itérables sont passés, zip()renvoie un itérateur de tuples avec chaque tuple ayant des éléments de tous les itérables.
    Supposons que deux itérables soient passés à zip(); un itérable contenant trois et un autre contenant cinq éléments. Ensuite, l'itérateur retourné contiendra trois tuples. C'est parce que l'itérateur s'arrête lorsque l'itérable le plus court est épuisé.

Exemple 1: zip Python ()

 number_list = (1, 2, 3) str_list = ('one', 'two', 'three') # No iterables are passed result = zip() # Converting iterator to list result_list = list(result) print(result_list) # Two iterables are passed result = zip(number_list, str_list) # Converting iterator to set result_set = set(result) print(result_set)

Production

 () ((2, 'deux'), (3, 'trois'), (1, 'un'))

Exemple 2: nombre différent d'éléments itérables

 numbersList = (1, 2, 3) str_list = ('one', 'two') numbers_tuple = ('ONE', 'TWO', 'THREE', 'FOUR') # Notice, the size of numbersList and numbers_tuple is different result = zip(numbersList, numbers_tuple) # Converting to set result_set = set(result) print(result_set) result = zip(numbersList, str_list, numbers_tuple) # Converting to set result_set = set(result) print(result_set)

Production

 ((2, 'DEUX'), (3, 'TROIS'), (1, 'UN')) ((2, 'deux', 'DEUX'), (1, 'un', 'UN'))

L' opérateur * peut être utilisé avec zip()pour décompresser la liste.

 zip (* zippedList)

Exemple 3: décompression de la valeur à l'aide de zip ()

 coordinate = ('x', 'y', 'z') value = (3, 4, 5) result = zip(coordinate, value) result_list = list(result) print(result_list) c, v = zip(*result_list) print('c =', c) print('v =', v)

Production

 (('x', 3), ('y', 4), ('z', 5)) c = ('x', 'y', 'z') v = (3, 4, 5) 

Articles intéressants...