1.5 KiB
1.5 KiB
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
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}'")
type(it)=<class 'tuple'> 'Anna ['Z.', 'Smith']' type(it)=<class 'tuple'> 'Bob ['A.', 'Doe']' type(it)=<class 'tuple'> 'Charles ['G.', 'Evans']'
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}'")
'Anna Z. Smith' 'Bob A. Doe' 'Charles G. Evans'
Création d'un dict avec zip
firsts = ["Anna", "Bob", "Charles"]
lasts = ["Smith", "Doe", "Evans"]
print(f'{dict(zip(firsts, lasts))=}')
dict(zip(firsts, lasts))={'Anna': 'Smith', 'Bob': 'Doe', 'Charles': 'Evans'}