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

Comment puis-je entrelacer efficacement des listes de longueurs inégales en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 11:59:11323parcourir

How Can I Efficiently Interleave Unequal-Length Lists in Python?

Entrelacement pythonique de listes de longueurs inégales

La solution pythonique pour entrelacer deux listes de longueurs différentes est plus efficace et élégante que la boucle fournie approche. En tirant parti du découpage, la tâche peut être accomplie en une seule ligne de code.

Considérons l'exemple suivant, où la première liste contient un élément de plus que la seconde :

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']

Le résultat souhaité est :

['f', 'hello', 'o', 'world', 'o']

En utilisant le découpage, cela peut être obtenu comme suit :

result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2

Cette approche crée une nouvelle liste, résultat, qui dispose de suffisamment d'espace pour accueillir les éléments des deux listes d'entrée. Les opérateurs de découpage [::2] et [1::2] attribuent un élément sur deux à la liste d'entrée correspondante.

Le résultat est une nouvelle liste qui alterne les éléments des deux listes d'entrée, comme vous le souhaitez. Cette méthode est plus concise, efficace et pythonique que l'approche en boucle.

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:
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