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