Pesastatud loend võib olla loendite loend või sisaldada mitut andmetüüpi. Kui olete koostanud ühe mitmest väiksemast andmetüübist, võiksite selle tasandada, et muuta üksused loetavamaks ja juurdepääsetavamaks.
Siit saate teada, kuidas muuta pesastatud loend kolme erineva lähenemisviisi abil sirgeks.
Kuidas Pythoni loendit tasandada
Sõltuvalt selle keerukusest on Pythonis pesastatud loendi sirgendamiseks mitu võimalust. Näiteks ainult loendeid sisaldavat loendit on lihtsam tasandada kui segatud andmetüüpidega loendit.
Näete, kuidas neid kõiki käsitleda järgmistes jaotistes.
Pesastatud loendite loendi tasandamine funktsiooniga Sum()
See meetod kehtib ainult Pythoni loendite loendi puhul ja see hõlmab sellises pesastatud loendis olevate üksuste ühendamist. See ei kehti tsüklite, sõnaraamatute, komplektide või segaandmetüüpide loendi kohta, kuna te ei saa neid tüüpe ühendada.
Kuigi võite kasutada jaoks silmus loendite loendi lamendamiseks, summa() funktsioon on arusaadav ja paremini loetav, kuna see on a Python one-liner:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = summa (nestedList, [])
printida(flatList)
# Väljund: [1, 3, 4, 2, 4, 7, 9, 0]
Kuidas kasutada for-silmust segatud pesastatud loendi lamendamiseks
Võite kasutada a Python tsükli jaoks nii sega- kui ka homogeensete andmetüüpide jaoks. Seega toimib see siis, kui pesastatud loend sisaldab ainult loendeid, kortereid, komplekte, sõnastikke või nende segu:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []minu jaoks NesdListis:
k in i jaoks:
flatList.lisa(k)printida(flatList)
# Väljund: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Selle saate saavutada ka loendi mõistmisega:
flatList = [k i jaoks NesdList k jaoks i-s]
printida(flatList)
# Väljund: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Manipuleerige Pythoni loendeid vastavalt oma soovile
Pythoni loend lihtsustab andmete esitamist ja neile juurdepääsu, kuna sellega on lihtne manipuleerida. Kuigi olete näinud, kuidas pesastatud Pythoni loendit tasandada, saate olenevalt oma eesmärgist loenditele siiski rakendada palju muudatusi. Näiteks Pythoni loendi teisendamine sõnastiks on teine levinud ülesanne, mille Python teeb lihtsaks.