Maison > développement back-end > Tutoriel Python > Comment puis-je entrelacer pythoniquement deux listes de longueurs inégales ?

Comment puis-je entrelacer pythoniquement deux listes de longueurs inégales ?

Barbara Streisand
Libérer: 2024-12-12 16:41:16
original
969 Les gens l'ont consulté

How Can I Pythonically Interleave Two Lists of Unequal Lengths?

Entrelacement pythonique de listes

Combiner deux listes de manière alternée est une tâche courante en programmation. Lorsque la première liste contient exactement un élément de plus que la seconde, il existe plusieurs approches pour y parvenir en Python. Voici quelques options Pythonic :

1. Utilisation du découpage :

Une méthode consiste à utiliser le découpage pour créer une nouvelle liste qui entrelace les éléments des deux listes. Cela peut être fait en suivant les étapes suivantes :

  1. Créez une nouvelle liste d'une longueur égale à la somme des longueurs des deux listes d'entrée.
  2. Attribuez les éléments à index pair de la nouvelle liste aux éléments de la première liste d'entrée.
  3. Attribuer les éléments impairs de la nouvelle liste aux éléments de la deuxième entrée liste.

Voici un exemple :

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
print(result)
Copier après la connexion

Sortie :

['f', 'hello', 'o', 'world', 'o']
Copier après la connexion
Copier après la connexion

2. Utilisation du package itertools :

Le package itertools de Python fournit une fonction pratique appelée islice qui peut être utilisée pour parcourir les éléments d'une liste dans un intervalle spécifié. Voici comment vous pouvez l'utiliser pour entrelacer deux listes :

import itertools
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = list(itertools.chain(*itertools.zip_longest(list1, list2)))
print(result)
Copier après la connexion

Sortie :

['f', 'hello', 'o', 'world', 'o']
Copier après la connexion
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!

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