:PROPERTIES: :ID: acda43fa-70be-4939-9128-47114e48e4cb :mtime: 20220528183525 :ctime: 20220527190024 :END: #+title: Fonction zip * Introduction Fonction /built-in/ permettant l'itération de plusieurs /iterable/ à la fois : * Si les /iterable/ n'ont pas le même nombre d'éléments, /zip/ arrêtera une fois le plus court atteint. * Howto ** /Iterable/ de tailles différentes #+BEGIN_SRC python :results output firsts = ["Anna", "Bob", "Charles", "Chris"] middles = ["Z.", "A.", "G."] lasts = ["Smith", "Doe", "Evans"] for it in zip(firsts, middles, lasts): print(f'{type(it)=}') first, *others = it print(f"'{first} {others}'") #+END_SRC #+RESULTS: : type(it)= : 'Anna ['Z.', 'Smith']' : type(it)= : 'Bob ['A.', 'Doe']' : type(it)= : 'Charles ['G.', 'Evans']' #+BEGIN_SRC python :results output firsts = ["Anna", "Bob", "Charles", "Chris"] middles = ["Z.", "A.", "G."] lasts = ["Smith", "Doe", "Evans"] for first, middle, last in zip(firsts, middles, lasts): print(f"'{first} {middle} {last}'") #+END_SRC #+RESULTS: : 'Anna Z. Smith' : 'Bob A. Doe' : 'Charles G. Evans' ** Création d'un /dict/ avec /zip/ #+BEGIN_SRC python :results output firsts = ["Anna", "Bob", "Charles"] lasts = ["Smith", "Doe", "Evans"] print(f'{dict(zip(firsts, lasts))=}') #+END_SRC #+RESULTS: : dict(zip(firsts, lasts))={'Anna': 'Smith', 'Bob': 'Doe', 'Charles': 'Evans'} * Références * [[https://mathspp.com/blog/pydonts/zip-up][Zip up - Pydon't]]