Ligzdots saraksts var būt sarakstu saraksts vai satur vairākus datu tipus. Ja esat izveidojis vienu no vairākiem mazākiem datu tipiem, iespējams, vēlēsities to saplacināt, lai vienumi būtu lasāmāki un pieejamāki.
Uzziniet, kā ligzdotu sarakstu pārvērst taisnā sarakstā, izmantojot trīs dažādas pieejas.
Kā saplacināt Python sarakstu
Atkarībā no tā sarežģītības ir daži veidi, kā Python iztaisnot ligzdoto sarakstu. Piemēram, sarakstu, kurā ir tikai saraksti, ir vieglāk saplacināt nekā sarakstu ar jauktiem datu tipiem.
Nākamajās sadaļās redzēsit, kā rīkoties ar katru no tiem.
Kā saplacināt ligzdotu sarakstu sarakstu, izmantojot funkciju Sum()
Šī metode attiecas tikai uz Python sarakstu sarakstu, un tā ietver vienumu savienošanu šādā ligzdotā sarakstā. Tas neattiecas uz cilpu, vārdnīcu, kopu vai jauktu datu tipu sarakstu, jo šos veidus nevar savienot.
Kamēr jūs varat izmantot priekš cilpa, lai saplacinātu sarakstu sarakstu, summa () funkcija ir vienkārša un labāk lasāma, jo tā ir a Python viena laineris:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = summa (nestedList, [])
drukāt(flatList)
# Izvade: [1, 3, 4, 2, 4, 7, 9, 0]
Kā izmantot for Loop, lai saplacinātu jauktu ligzdoto sarakstu
Jūs varat izmantot a Python cilpai gan jauktiem, gan homogēniem datu tipiem. Tātad tas darbojas neatkarīgi no tā, vai ligzdotajā sarakstā ir tikai saraksti, kopas, kopas, vārdnīcas vai to maisījums:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []man NesdList:
par k in i:
flatList.pievienot(k)drukāt(flatList)
# Izvade: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
To var panākt arī ar saraksta izpratni:
flatList = [k for i in NestedList for k in i]
drukāt(flatList)
# Izvade: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Manipulējiet Python sarakstus, kā vēlaties
Python saraksts vienkāršo datu prezentēšanu un piekļuvi tiem, jo ar to ir viegli manipulēt. Lai gan esat redzējis, kā saplacināt ligzdotu Python sarakstu, joprojām ir daudz uzlabojumu, ko varat piemērot sarakstiem atkarībā no mērķa. Piemēram, Python saraksta pārvēršana vārdnīcā ir vēl viens izplatīts uzdevums, ko Python atvieglo.