Maison > développement back-end > Tutoriel Python > Comment aplatir les listes imbriquées à partir des compréhensions de listes en Python ?

Comment aplatir les listes imbriquées à partir des compréhensions de listes en Python ?

DDD
Libérer: 2024-11-14 11:07:02
original
896 Les gens l'ont consulté

How to Flatten Nested Lists from List Comprehensions in Python?

Aplatissement des résultats de la compréhension de liste

En Python, l'utilisation d'une compréhension de liste pour appliquer une fonction à chaque élément d'une liste peut entraîner des listes. Par exemple, en considérant une liste A et une fonction f qui transforme chaque élément de A en liste, la compréhension de liste [f(a) pour a dans A] produit une liste de listes.

Pour obtenir un aplati list, un peu comme les opérateurs 'flatmap' de la programmation fonctionnelle ou 'SelectMany' de .NET, l'imbrication peut être introduite dans la compréhension de la liste :

<code class="python">[filename for path in dirs for filename in os.listdir(path)]</code>
Copier après la connexion

Ceci est fonctionnellement équivalent au code suivant qui utilise plusieurs boucles imbriquées :

<code class="python">filenames = []
for path in dirs:
    for filename in os.listdir(path):
        filenames.append(filename)</code>
Copier après la connexion

L'adoption de cette approche garantit la production d'une liste plate, où les éléments sont obtenus en itérant d'abord sur les répertoires de la liste externe, puis sur la liste interne renvoyée par la fonction f appliquée à chaque élément des répertoires.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal