objectif
Zipper des séquences de longueurs différentes avec une valeur de remplissage.
code minimal
from itertools import zip_longest
a = [1,2,3]; b = ["x","y"]
pairs = list(zip_longest(a, b, fillvalue=None))
print(pairs[-1] == (3, None)) # attendu: True
utilisation
from itertools import zip_longest
left = ["a","b"]; right = [10]
rows = list(zip_longest(left, right, fillvalue=""))
print(rows == [("a",10), ("b","")])
variante(s) utile(s)
from itertools import zip_longest
print(len(list(zip_longest([], [], fillvalue=None))) == 0)
notes
- Pratique pour aligner des colonnes ou exporter des tableaux irréguliers.
- Pensez à fillvalue pour éviter les None non souhaités.