Comment compresser des listes de tailles différentes en Python à l'aide de la répétition d'itérations ?

Barbara Streisand
Libérer: 2024-10-28 09:27:02
original
1064 Les gens l'ont consulté

How to Zip Differently Sized Lists in Python Using Iteration Repetition?

Compression de listes de tailles différentes avec répétition d'itérations

Lorsque vous travaillez avec des listes de longueurs variables, les compresser ensemble peut poser un défi. La fonction zip() par défaut en Python associe les éléments de la liste la plus courte à ceux de la liste la plus longue, laissant les éléments restants de la liste la plus longue non appariés. Pour remédier à cette limitation, nous pouvons exploiter la puissance de la répétition itérative.

Utiliser itertools.cycle pour une répétition transparente

Un moyen efficace de répéter la liste la plus courte consiste à utiliser la fonction itertools.cycle. Cette fonction crée un itérateur qui parcourt sans fin les éléments d'un itérable, même après épuisement. En incorporant le cycle dans notre opération de compression, nous pouvons garantir que la liste la plus courte se répète jusqu'à ce que la liste la plus longue soit entièrement couverte.

Implémentation du code

Utiliser itertools.cycle pour compresser des listes de tailles différentes est simple . L'extrait de code suivant démontre son implémentation :

<code class="python">import itertools

A = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B = ["A", "B", "C"]

from itertools import cycle
zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)

for item in zip_list:
    print(item)</code>
Copier après la connexion

Répartition de la sortie

L'exécution du code fourni produit le résultat suivant :

(1, 'A')
(2, 'B')
(3, 'C')
(4, 'A')
(5, 'B')
(6, 'C')
(7, 'A')
(8, 'B')
(9, 'C')
Copier après la connexion

Comme nous pouvons l'observer, le plus court la liste B se répète jusqu'à ce que tous les éléments de la liste A plus longue soient appariés. Cette répétition transparente garantit qu'aucun élément n'est laissé sans paire, ce qui nous permet d'effectuer des opérations sur des listes entières sans aucune perte de données.

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!

source:php.cn
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