Aplatissement peu profond: cela signifie aplatir la liste à un seul niveau de profondeur uniquement.
Aplatissement profond: cela signifie aplatir la liste à n'importe quel niveau de profondeur.
Les sujets dont nous allons discuter dans cet article sont comme ci-dessous:
Méthode 1: Utilisation pour la boucle
Dans cette méthode, nous utiliserons For-Bop, ce qui est très courant dans chaque langage de programmation. Nous itérons chaque élément de la liste, puis itérons cet élément plus loin, comme indiqué dans le programme ci-dessous.
LST = [[30,7], [8,9], [30,7], [8,9]]Sortir:
Liste avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9]]Ligne 1: Nous avons créé une liste de listes.
Ligne 3 à 5: Dans cette ligne, nous exécutons une boucle imbriquée. La boucle extérieure est pour la liste principale, et la boucle intérieure pour les éléments. Si vous voyez cette boucle imbriquée, vous découvrirez que chaque élément de la liste des sous-éléments a été extrait et ajoutant à la nouvelle liste (Flatten_List). De cette façon, chaque élément de la sous-liste est maintenant séparé.
Ligne 6 à 7: Ces lignes affichant la liste originale avant et après l'aplatissement de la liste.
Méthode 2: Utilisation de la compréhension de la liste
La compréhension de la liste est une méthode avancée de ce qui précède pour la boucle où nous écrivons tout en une seule ligne.
LST = [[30,7], [8,9], [30,7], [8,9]]Sortir:
Liste avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9]]Ligne 1: Nous avons créé une liste de la liste.
Ligne 3: Cette ligne exécutant deux boucles en une seule ligne pour aplatir la liste.
Méthode 3: Utilisation de la méthode Flatten ()
Une autre méthode consiste à utiliser la bibliothèque aplatie () comme indiqué dans le programme ci-dessous. Mais la méthode d'aplatissement ne fonctionnera qu'à un seul niveau de la liste imbriquée; S'il y a des listes profondément imbriquées, alors elle n'aplatira pas la liste. Les deux exemples de programme imbriqués à imbrication et profondément imbriqués sont donnés ci-dessous.
De itération_utilées Importer aplatiesSortir:
[30, 7, 8, 9, 30, 7, 8, 9]Ligne 3: Nous appelons l'aplatissement de la méthode et passons la liste dans celle-ci comme argument. La sortie ci-dessus montre que notre liste de listes est désormais aplatie.
Maintenant, nous allons voir une liste profondément imbriquée pour la méthode d'aplatissement.
De itération_utilées Importer aplatiesSortir:
[30, 7, 8, 9, 30, 7, 8, 9, [2]]Ligne 2: Nous avons créé une liste imbriquée et ajouté un autre élément [[2]] qui est profondément imbriqué.
Ligne 3: Nous appelons l'aplatissement de la méthode et passons la liste dans celle-ci comme argument. La sortie ci-dessus montre qu'il n'est pas fait pour aplatir entièrement la liste profondément imbriquée parce que l'élément [2] est toujours dans une liste.
Méthode 4: Utilisation de la méthode Deepflatten ()
L'autre méthode est la deepflatten () qui peut aplatir la liste profondément imbriquée, qui n'est pas effectuée par la méthode d'aplatissement comme nous l'avons vu dans l'exemple ci-dessus.
de itération_utilities importer deepflattenSortir:
Liste LST avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[200]]]Ligne 1: Nous importons la méthode Deepflatten.
Ligne 4: Nous appelons la méthode Deepflatten et passons la liste profondément imbriquée dans celle comme un argument. La sortie ci-dessus montre que notre liste profondément imbriquée est maintenant aplatie.
Méthode 5: Utilisation de la méthode Pandas Flatten ()
Cette méthode fait la liste d'aplatissement même si la liste est profondément imbriquée.
des pandas.cœur.aplatissement d'importation communSortir:
Liste avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Ligne 4: Nous appelons l'aplatissement de la méthode et passons la liste profondément imbriquée dans ce point comme un argument. La sortie ci-dessus montre que notre liste profondément imbriquée est maintenant aplatie.
Méthode 6: Utilisation de la méthode Matplotlib Flatten ()
Cette méthode fait la liste d'aplatissement même si la liste est profondément imbriquée.
de Matplotlib.CBOOK IMPORT APLAPERSortir:
Liste avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Ligne 4: Nous appelons l'aplatissement de la méthode et passons la liste profondément imbriquée dans cela comme argument. La sortie ci-dessus montre que notre liste profondément imbriquée est maintenant aplatie.
Méthode 7: Utilisation de la méthode Unipath Flatten ()
Cette méthode fait la liste d'aplatissement même si la liste est profondément imbriquée.
Importer UnipathSortir:
Liste avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Ligne 5: Nous appelons l'aplatissement de la méthode et passons la liste profondément imbriquée dans ce point comme un argument. La sortie ci-dessus montre que notre liste profondément imbriquée est maintenant aplatie.
Méthode 8: Utilisation de la méthode SetUptoLs Flatten ()
Cette méthode fait la liste d'aplatissement à un seul niveau.
de setuptools.Les espaces de noms importent aplatirSortir:
Liste avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Ligne 2: Nous avons créé une liste imbriquée et ajouté un autre élément [[2]] qui est profondément imbriqué.
Ligne 4: Nous appelons l'aplatissement de la méthode et passons la liste dans celle-ci comme argument. La sortie ci-dessus montre qu'il n'est pas fait pour aplatir entièrement la liste profondément imbriquée parce que l'élément [2] est toujours dans une liste.
Méthode 9: Utilisation des itertools.méthode de chaîne
Pour déballer la liste des listes, nous pouvons également utiliser les itertools.méthode de chaîne. Cette méthode a en outre deux façons d'aplatir la liste des listes. Les deux méthodes sont données ci-dessous. Ces méthodes ont également fait la liste de la liste à un seul niveau.
Utilisation des itertools.chaîne.de_iterable
Importer ItertoolsSortir:
Liste LST avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Ligne 2: Nous avons créé une liste imbriquée et ajouté un autre élément [[2]] qui est profondément imbriqué.
Ligne 4: Nous appelons la méthode Itertools.chaîne.from_iterable () et passez la liste dans cela comme argument. La sortie ci-dessus montre qu'il n'est pas fait pour aplatir complètement la liste profondément imbriquée car l'élément [2] est toujours à l'intérieur d'une liste.
Utilisation de l'opérateur *
Importer ItertoolsSortir:
Liste LST avant d'aplatir [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Méthode 10: Utilisation de Numpy.Méthode Ravel ()
L'autre méthode est numpy.Ravel qui aplatit également la liste imbriquée. Mais cette méthode s'aplatit à un niveau de nichage.
Importer Numpy comme NPSortir:
Liste avant d'aplatir [[30 7]Ligne 3: Nous appelons la méthode Numpy Ravel. La sortie ci-dessus montre que notre tableau de liste imbriqué est désormais aplati.
Méthode 11: Utilisation de la méthode Rumpy Reshape ()
L'autre méthode est Numpy Reshape, qui aplatit également la liste imbriquée. Mais cette méthode s'aplatit à un niveau de nichage.
Importer Numpy comme NPLigne 3: Nous appelons la méthode Reshape (-1). La sortie ci-dessus montre que notre tableau de liste imbriqué est désormais aplati.
Méthode 12: Utilisation de la méthode Numpy Flateten ()
L'autre méthode est Numpy Flatten (), qui aplatit également la liste imbriquée. Mais cette méthode s'aplatit à un niveau de nichage.
Importer Numpy comme NP
Sortir:
Ligne 5: Nous appelons l'aplatissement de la méthode. La sortie ci-dessus montre que notre tableau de liste imbriqué est désormais aplati.
Méthode 13: Utilisation de Numpy.Méthode concatenate ()
L'autre méthode est numpy.concatenate (), qui aplatit également la liste imbriquée. Mais cette méthode s'aplatit à un niveau de nichage.
Importer Numpy comme NPSortir:
Liste avant d'aplatir [[30 7]Ligne 3: Nous appelons la méthode Numpy.concatenate () et passer le tableau de liste imbriqué dans cela comme un argument. La sortie ci-dessus montre que notre tableau de liste imbriqué est désormais aplati.
Méthode 14: Utilisation de la méthode à plat Numpy
L'autre méthode est la plats numpy qui aplatit également la liste imbriquée. Mais cette méthode s'aplatit à un niveau de nichage.
Importer Numpy comme NPSortir:
Liste avant d'aplatir [[30 7]Ligne 3: Nous appelons la méthode plate, et la sortie ci-dessus montre que notre tableau de liste imbriqué est maintenant aplati.
Conclusion:
Dans ce blog, nous vous avons montré différentes méthodes que nous pouvons utiliser pour aplatir notre liste de listes. Toutes les méthodes ci-dessus fonctionnent parfaitement pour le seul niveau de la liste imbriquée. Mais s'il existe des listes profondément imbriquées, certaines des méthodes ci-dessus fonctionnent parfaitement. Donc, c'est à vous et, selon les exigences de votre programme, quelle méthode vous souhaitez utiliser.
Le code de cet article est également disponible sur le lien GitHub:
https: // github.com / shekharpandey89 / aplatir la liste de la liste