Files
org-roamings/20220527190024-fonction_zip.org
2022-06-04 12:57:39 +02:00

56 lines
1.5 KiB
Org Mode

: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)=<class 'tuple'>
: 'Anna ['Z.', 'Smith']'
: type(it)=<class 'tuple'>
: 'Bob ['A.', 'Doe']'
: type(it)=<class 'tuple'>
: '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]]