Sisäkkäinen luettelo voi olla luettelo luetteloista tai sisältää useita tietotyyppejä. Jos olet rakentanut sellaisen useista pienemmistä tietotyypeistä, voit tasoittaa sen, jotta kohteet olisivat luettavampia ja helppokäyttöisempiä.

Ota selvää, kuinka voit muuttaa sisäkkäisen luettelon suoraksi kolmella eri tavalla.

Python-luettelon litistäminen

Pythonissa on muutamia tapoja suoristaa sisäkkäistä luetteloa sen monimutkaisuudesta riippuen. Esimerkiksi luettelo, joka sisältää vain luetteloita, on helpompi tasoittaa kuin luettelo, jossa on erilaisia ​​tietotyyppejä.

Näet, kuinka niitä käsitellään seuraavissa osissa.

Sisäkkäisen listan litistäminen Sum()-funktiolla

Tämä menetelmä koskee vain Python-luetteloiden luetteloa, ja siihen sisältyy tällaisen sisäkkäisen luettelon kohteiden ketjuttaminen. Se ei koske silmukoiden, sanakirjojen, joukkojen tai sekatietotyyppien luetteloa, koska et voi ketjuttaa näitä tyyppejä.

Vaikka voit käyttää varten silmukka litistääksesi luetteloluettelon, summa() toiminto on selkeä ja luettavampi, koska se on a Python yksilinjainen:

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

flatList = summa (nestedList, [])
Tulosta(flatList)

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

For-silmukan käyttäminen sekamuotoisen sisäkkäisen luettelon tasoittamiseen

Voit käyttää a Python silmukalle sekä seka- että homogeenisille tietotyypeille. Joten se toimii, sisältääkö sisäkkäinen luettelo vain luetteloita, monikoita, joukkoja, sanakirjoja tai niiden sekoituksia:

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

minulle NesdListissä:
k in i: lle:
flatList.Liitä(k)

Tulosta(flatList)

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

Voit saavuttaa tämän myös luettelon ymmärtämisellä:

flatList = [k for i in NestedList for k in i]

Tulosta(flatList)

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

Käsittele Python-luetteloita haluamallasi tavalla

Python-luettelo yksinkertaistaa tietojen esittämistä ja käyttöä, koska sitä on helppo käsitellä. Vaikka olet nähnyt, kuinka sisäkkäinen Python-luettelo tasoitetaan, voit silti soveltaa luetteloihin monia parannuksia tavoitteestasi riippuen. Esimerkiksi Python-luettelon muuntaminen sanakirjaksi on toinen yleinen tehtävä, jonka Python tekee helpoksi.