Ugnezdeni seznam je lahko seznam seznamov ali vsebuje več vrst podatkov. Če ste enega sestavili iz več manjših podatkovnih tipov, ga boste morda želeli izravnati, da bodo elementi bolj berljivi in dostopni.
Ugotovite, kako ugnezdeni seznam spremenite v neposreden s tremi različnimi pristopi.
Kako izravnati seznam Python
Obstaja nekaj načinov za poravnavo ugnezdenega seznama v Pythonu, odvisno od njegove zapletenosti. Seznam, ki vsebuje samo sezname, je na primer lažje poravnati kot seznam z mešanimi tipi podatkov.
Kako ravnati z vsakim od njih, boste videli v naslednjih razdelkih.
Kako izravnati ugnezdeni seznam seznamov s funkcijo Sum().
Ta metoda se uporablja samo za seznam seznamov Python in vključuje povezovanje elementov na takem ugnezdenem seznamu. Ne velja za seznam zank, slovarjev, nizov ali mešanih podatkovnih tipov, ker teh tipov ne morete povezati.
Medtem ko lahko uporabljate za zanka za izravnavo seznama seznamov, vsota () funkcija je enostavna in bolj berljiva, saj je a Python v eno vrstico:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = vsota (ugnezdeni seznam, [])
natisniti(flatList)
# Izhod: [1, 3, 4, 2, 4, 7, 9, 0]
Kako uporabiti zanko for za izravnavo mešanega ugnezdenega seznama
Lahko uporabite a Python za zanko za mešane in homogene vrste podatkov. Torej deluje, ne glede na to, ali ugnezdeni seznam vsebuje samo sezname, torčke, nize, slovarje ali njihovo mešanico:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []za i v nestedList:
za k v i:
flatList.priloži(k)natisniti(flatList)
# Izhod: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
To lahko dosežete tudi z razumevanjem seznama:
flatList = [k za i v nestedList za k v i]
natisniti(flatList)
# Izhod: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Manipulirajte s seznami Python, kot želite
Seznam Python poenostavlja način predstavitve in dostopa do podatkov, saj je z njim enostavno manipulirati. Čeprav ste videli, kako izravnati ugnezdeni seznam Python, obstaja še veliko popravkov, ki jih lahko uporabite za sezname, odvisno od vašega cilja. Na primer, pretvorba seznama Python v slovar je še ena pogosta naloga, ki jo Python olajša.