Grunt utflating: Dette betyr bare flating av listen til ett dybdivå.
Dyp flating: Dette betyr å flate listen til ethvert dybdivå.
Temaene som vi skal diskutere i denne artikkelen er som nedenfor:
Metode 1: Bruker for loop
I denne metoden vil vi bruke for-loop, som er veldig vanlig på hvert programmeringsspråk. Vi itererer hvert element på listen og iterer deretter det elementet ytterligere, som vist i programmet nedenfor.
LST = [[30,7], [8,9], [30,7], [8,9]]Produksjon:
Liste før flating [[30, 7], [8, 9], [30, 7], [8, 9]]Linje 1: Vi opprettet en liste over lister.
Linje 3 til 5: I denne linjen kjører vi en nestet for sløyfe. Det ytre for loop er for hovedlisten, og det indre for loop er for elementene. Hvis du ser denne nestede sløyfen, vil du finne ut at hvert element fra underelementlisten ble trukket ut og legger til den nye listen (flatten_list). På denne måten er hvert element i underlisten nå atskilt.
Linje 6 til 7: Disse linjene som viser den originale listen før og etter flating av listen.
Metode 2: Bruke listeforståelse
Listeforståelsen er en avansert metode for ovennevnte for loop der vi skriver alt i en enkelt linje.
LST = [[30,7], [8,9], [30,7], [8,9]]Produksjon:
Liste før flating [[30, 7], [8, 9], [30, 7], [8, 9]]Linje 1: Vi opprettet en liste over listen.
Linje 3: Denne linjen kjører to løkker i en enkelt linje for å flate listen.
Metode 3: Bruke flat () -metode
En annen metode er å bruke bibliotekets flat () som vist i programmet gitt nedenfor. Men flatmetoden vil bare fungere til ett nivå på den nestede listen; Hvis det er dypt nestede lister, vil den ikke flate listen. Både enkelt nestede og dypt nestede programeksempler er gitt nedenfor.
fra iterasjon_utiliteter importerer flatProduksjon:
[30, 7, 8, 9, 30, 7, 8, 9]Linje 3: Vi kaller metoden flater og gir listen inn i det som et argument. Ovennevnte utdata viser at listen over lister nå er flatet.
Nå skal vi se en dypt nestet liste for flatmetoden.
fra iterasjon_utiliteter importerer flatProduksjon:
[30, 7, 8, 9, 30, 7, 8, 9, [2]]]Linje 2: Vi opprettet en nestet liste og la også til et annet element [[2]] som er dypt nestet.
Linje 3: Vi kaller metoden flater og gir listen inn i det som et argument. Ovennevnte utgang viser at det ikke gjøres å flate den dypt nestede listen fullt ut fordi elementet [2] fremdeles er inne i en liste.
Metode 4: Bruke DeepFlatten () -metoden
Den andre metoden er den dypflate () som kan flate den dypt nestede listen, som ikke gjøres ved flatmetoden som vi har sett i eksemplet ovenfor.
Fra iterasjon_utiliteter importerer dypflatProduksjon:
Liste over LST før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[200]]]Linje 1: Vi importerer den dype flatt metoden.
Linje 4: Vi kaller metoden dypflatt og gir den dypt nestede listen inn i den som et argument. Ovennevnte utgang viser at vår dypt nestede liste nå er flatet.
Metode 5: Bruke pandas flat () -metode
Denne metoden gjør flatlisten selv om listen er dypt nestet.
fra Pandas.kjerne.Vanlig importflatProduksjon:
Liste før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Linje 4: Vi kaller metoden flater og gir den dypt nestede listen inn i den som et argument. Ovennevnte utgang viser at vår dypt nestede liste nå er flatet.
Metode 6: Bruke MatplotLib flat () -metode
Denne metoden gjør flatlisten selv om listen er dypt nestet.
fra matplotlib.CBook Import FlatenProduksjon:
Liste før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Linje 4: Vi kaller metoden flater og gir den dypt nestede listen inn i den som et argument. Ovennevnte utgang viser at vår dypt nestede liste nå er flatet.
Metode 7: Bruke UNIPATH Flatten () -metoden
Denne metoden gjør flatlisten selv om listen er dypt nestet.
Importer UnipathProduksjon:
Liste før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Linje 5: Vi kaller metoden flater og gir den dypt nestede listen inn i den som et argument. Ovennevnte utgang viser at vår dypt nestede liste nå er flatet.
Metode 8: Bruke SetUptools Flatten () -metode
Denne metoden gjør flatelisten til bare ett nivå.
Fra Setuptools.Navneområder importerer flatProduksjon:
Liste før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Linje 2: Vi opprettet en nestet liste og la også til et annet element [[2]] som er dypt nestet.
Linje 4: Vi kaller metoden flater og gir listen inn i det som et argument. Ovennevnte utgang viser at det ikke gjøres å flate den dypt nestede listen fullt ut fordi elementet [2] fremdeles er inne i en liste.
Metode 9: Bruke Iterertools.kjedemetode
For å pakke ut listen over lister, kan vi også bruke Iterertools.kjedemetode. Denne metoden har videre to måter å flate listen over lister. Begge metodene er gitt nedenfor. Disse metodene faller også listen over liste til bare ett nivå.
Bruke Iterertools.kjede.fra_iterable
Importer iterertoolsProduksjon:
Liste over LST før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Linje 2: Vi opprettet en nestet liste og la også til et annet element [[2]] som er dypt nestet.
Linje 4: Vi kaller metoden iterertools.kjede.fra_iterable () og gi listen inn i det som et argument. Ovennevnte utgang viser at det ikke gjøres for å flate den dypt nestede listen fullt ut fordi elementet [2] fremdeles er inne i en liste.
Bruke * operatøren
Importer iterertoolsProduksjon:
Liste over LST før flating [[30, 7], [8, 9], [30, 7], [8, 9], [[2]]]Metode 10: Bruke Numpy.Ravel () -metode
Den andre metoden er numpy.Ravel som også flater den nestede listen. Men denne metoden flater ut til ett nivå av det nestede.
Importer numpy som NPProduksjon:
Liste før flating [[30 7]Linje 3: Vi kaller metoden numpy ravel. Ovennevnte utgang viser at vår nestede liste -matrise nå er flatet.
Metode 11: Bruke Numpy Reshape () -metoden
Den andre metoden er numpy omformet, som også flater den nestede listen. Men denne metoden flater ut til ett nivå av det nestede.
Importer numpy som NPLinje 3: Vi kaller metoden omformet (-1). Ovennevnte utgang viser at vår nestede liste -matrise nå er flatet.
Metode 12: Bruke Numpy Flaten () -metoden
Den andre metoden er numpy flat (), som også flater den nestede listen. Men denne metoden flater ut til ett nivå av det nestede.
Importer numpy som NP
Produksjon:
Linje 5: Vi kaller metoden flat. Ovennevnte utgang viser at vår nestede liste -matrise nå er flatet.
Metode 13: Bruke Numpy.Concatenate () -metode
Den andre metoden er numpy.concatenate (), som også flater den nestede listen. Men denne metoden flater ut til ett nivå av det nestede.
Importer numpy som NPProduksjon:
Liste før flating [[30 7]Linje 3: Vi kaller metoden numpy.concatenate () og pass den nestede liste -matrisen inn i det som et argument. Ovennevnte utgang viser at vår nestede liste -matrise nå er flatet.
Metode 14: Bruke Numpy Flat -metoden
Den andre metoden er numpy flat som også flater den nestede listen. Men denne metoden flater ut til ett nivå av det nestede.
Importer numpy som NPProduksjon:
Liste før flating [[30 7]Linje 3: Vi kaller metoden flat, og output ovenfor viser at vår nestede liste -matrise nå er flatet.
Konklusjon:
I denne bloggen har vi vist deg forskjellige metoder som vi kan bruke for å flate listen over lister. Alle de ovennevnte metodene fungerer perfekt for det ene nivået på den nestede listen. Men hvis det er dypt nestede lister, fungerer noen av de ovennevnte metodene perfekt. Så det er opp til deg, og i henhold til programkravene dine hvilken metode du vil bruke.
Koden for denne artikkelen er også tilgjengelig på GitHub -lenken:
https: // github.com/shekharpandey89/flate-the-list-of-list