Maison > développement back-end > Tutoriel Python > Comment puis-je compléter la fonction Zip de Python jusqu'à la longueur de l'itérable le plus long ?

Comment puis-je compléter la fonction Zip de Python jusqu'à la longueur de l'itérable le plus long ?

Patricia Arquette
Libérer: 2024-11-26 10:49:09
original
315 Les gens l'ont consulté

How Can I Pad Python's Zip Function to the Length of the Longest Iterable?

Extension de Zip jusqu'à Pad jusqu'à la longueur maximale

Zip est une fonction intégrée à Python qui combine plusieurs itérables. Cependant, il s'arrête à la longueur de l'itérable le plus court. Que se passe-t-il si nous voulons compléter les résultats pour qu'ils correspondent à la longueur de l'itérable le plus long ?

Solution

Dans Python 3, itertools.zip_longest fournit cette fonctionnalité. Il évalue tous les itérables et pads avec Aucun par défaut, en conservant l'alignement.

a = ['a1']
b = ['b1', 'b2', 'b3']
c = ['c1', 'c2']

list(itertools.zip_longest(a, b, c))

# [('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]
Copier après la connexion

Vous pouvez personnaliser la valeur de remplissage à l'aide du paramètre fillvalue :

list(itertools.zip_longest(a, b, c, fillvalue='foo'))

# [('a1', 'b1', 'c1'), ('foo', 'b2', 'c2'), ('foo', 'b3', 'foo')]
Copier après la connexion

Pour Python 2, vous pouvez utilisez itertools.izip_longest (Python 2.6) ou mappez avec Aucun :

a = ['a1']
b = ['b1', 'b2', 'b3']
c = ['c1', 'c2']

map(None, a, b, c)

# [('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal