Aplatir une liste

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

En Python, une liste peut contenir d'autres listes en tant qu'éléments. Cela est connu sous le nom de liste imbriquée. Parfois, nous pouvons avoir besoin d'aplatir une liste imbriquée en une seule liste. Dans ce défi, vous devrez écrire une fonction qui aplatit une liste de listes une seule fois.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/list_comprehensions("List Comprehensions") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") subgraph Lab Skills python/comments -.-> lab-13641{{"Aplatir une liste"}} python/for_loops -.-> lab-13641{{"Aplatir une liste"}} python/list_comprehensions -.-> lab-13641{{"Aplatir une liste"}} python/lists -.-> lab-13641{{"Aplatir une liste"}} python/tuples -.-> lab-13641{{"Aplatir une liste"}} python/function_definition -.-> lab-13641{{"Aplatir une liste"}} end

Aplatir une liste

Écrivez une fonction Python appelée flatten(lst) qui prend une liste de listes en argument et renvoie une liste aplatie. La fonction ne devrait aplatir la liste qu'une seule fois, ce qui signifie que toute liste imbriquée dans la liste d'origine devrait être aplatie, mais toute liste imbriquée dans ces listes imbriquées devrait rester inchangée.

Pour résoudre ce problème, vous pouvez utiliser une compréhension de liste pour extraire chaque valeur des sous-listes dans l'ordre.

def flatten(lst):
  return [x for y in lst for x in y]
flatten([[1, 2, 3, 4], [5, 6, 7, 8]]) ## [1, 2, 3, 4, 5, 6, 7, 8]

Résumé

Dans ce défi, vous avez appris à écrire une fonction Python pour aplatir une liste de listes une seule fois. Vous avez utilisé une compréhension de liste pour extraire chaque valeur des sous-listes dans l'ordre. C'est une compétence utile à avoir lorsqu'on travaille avec des listes imbriquées en Python.