Maison > Article > développement back-end > Comment aplatir les listes imbriquées à partir des compréhensions de listes en 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 imbrications 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 liste compréhension :
<code class="python">[filename for path in dirs for filename in os.listdir(path)]</code>
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>
L'adoption de cette approche garantit qu'une liste plate est produite, où les éléments sont obtenus par en parcourant d'abord les répertoires de la liste externe, puis 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!