O listă imbricată poate fi o listă de liste sau poate conține mai multe tipuri de date. Dacă ați creat unul din mai multe tipuri de date mai mici, poate doriți să-l aplatizați pentru a face elementele mai lizibile și mai accesibile.

Aflați cum să transformați o listă imbricată într-una directă, cu trei abordări diferite.

Cum să aplatizezi o listă Python

Există câteva moduri de a îndrepta o listă imbricată în Python, în funcție de complexitatea acesteia. O listă care conține numai liste, de exemplu, este mai ușor de aplatizat decât una cu tipuri de date mixte.

Veți vedea cum să gestionați fiecare dintre ele în secțiunile următoare.

Cum să aplatizați o listă imbricată de liste cu funcția Sum().

Această metodă se aplică numai unei liste Python de liste și implică concatenarea elementelor dintr-o astfel de listă imbricată. Nu se aplică unei liste de bucle, dicționare, seturi sau tipuri de date mixte, deoarece nu puteți concatena aceste tipuri.

În timp ce puteți utiliza pentru buclă pentru a aplatiza o listă de liste,

instagram viewer
sumă() funcția este simplă și mai lizibilă deoarece este a Python cu o singură linie:

nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]

flatList = suma (nedList, [])
imprimare(FlatList)

# Ieșire: [1, 3, 4, 2, 4, 7, 9, 0]

Cum să utilizați bucla for pentru a aplatiza o listă imbricată mixtă

Puteți folosi a Python pentru buclă atât pentru tipuri de date mixte, cât și pentru cele omogene. Deci funcționează dacă o listă imbricată conține numai liste, tupluri, seturi, dicționare sau amestecul acestora:

nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []

pentru eu în nestedList:
pentru k în i:
flatList.adăuga(k)

imprimare(FlatList)

# Ieșire: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Puteți realiza acest lucru și cu o listă de înțelegere:

flatList = [k pentru i în nestedList pentru k în i]

imprimare(FlatList)

# Ieșire: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Manipulați listele Python după cum doriți

O listă Python simplifică modul în care prezentați și accesați datele, deoarece este ușor de manipulat. Deși ați văzut cum să aplatizați o listă Python imbricată, există încă multe ajustări pe care le puteți aplica listelor, în funcție de obiectivul dvs. De exemplu, conversia unei liste Python într-un dicționar este o altă sarcină comună pe care Python o face ușor.