Une liste imbriquée peut être une liste de listes ou contenir plusieurs types de données. Si vous en avez créé un à partir de plusieurs types de données plus petits, vous souhaiterez peut-être l'aplatir pour rendre les éléments plus lisibles et accessibles.

Découvrez comment transformer une liste imbriquée en une simple, avec trois approches différentes.

Comment aplatir une liste Python

Il existe plusieurs façons de redresser une liste imbriquée en Python, en fonction de sa complexité. Une liste contenant uniquement des listes, par exemple, est plus facile à aplatir qu'une liste avec des types de données mixtes.

Vous verrez comment gérer chacun d'eux dans les sections suivantes.

Comment aplatir une liste imbriquée de listes avec la fonction Sum ()

Cette méthode s'applique uniquement à une liste Python de listes et implique la concaténation des éléments dans une telle liste imbriquée. Il ne s'applique pas à une liste de boucles, de dictionnaires, d'ensembles ou de types de données mixtes car vous ne pouvez pas concaténer ces types.

Bien que vous puissiez utiliser le pour boucle pour aplatir une liste de listes, la somme() fonction est simple et plus lisible car il s'agit d'un Python one-liner:

liste imbriquée = [[1, 3, 4], [2, 4], [7, 9, 0]]

flatList = somme (nestedList, [])
imprimer(liste plate)

# Sortie: [1, 3, 4, 2, 4, 7, 9, 0]

Comment utiliser la boucle for pour aplatir une liste imbriquée mixte

Vous pouvez utiliser un Python pour la boucle pour les types de données mixtes et homogènes. Ainsi, cela fonctionne si une liste imbriquée ne contient que des listes, des tuples, des ensembles, des dictionnaires ou leur mélange :

liste imbriquée = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
liste plate = []

pour je dans nestedList :
pour k dans i :
flatList.ajouter(k)

imprimer(liste plate)

# Sortie: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Vous pouvez également y parvenir avec une compréhension de liste :

flatList = [k pour i dans nestedList pour k dans i]

imprimer(liste plate)

# Sortie: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Manipulez les listes Python comme vous le souhaitez

Une liste Python simplifie la présentation et l'accès aux données, car elle est facile à manipuler. Bien que vous ayez vu comment aplatir une liste Python imbriquée, il existe encore de nombreux ajustements que vous pouvez appliquer aux listes, en fonction de votre objectif. Par exemple, convertir une liste Python en dictionnaire est une autre tâche courante que Python facilite.