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

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'}

Références