En indlejret liste kan være en liste over lister eller indeholde flere datatyper. Hvis du har bygget en af flere mindre datatyper, vil du måske gerne flad den ud for at gøre elementerne mere læsbare og tilgængelige.
Find ud af, hvordan du forvandler en indlejret liste til en lige liste med tre forskellige tilgange.
Sådan udglatter du en Python-liste
Der er et par måder at rette en indlejret liste i Python på, afhængigt af dens kompleksitet. En liste, der f.eks. kun indeholder lister, er lettere at udjævne end en med blandede datatyper.
Du vil se, hvordan du håndterer hver af dem i de følgende afsnit.
Sådan udglatter du en indlejret liste over lister med Sum()-funktionen
Denne metode gælder kun for en Python-liste over lister, og den involverer sammenkædning af elementerne i en sådan indlejret liste. Det gælder ikke for en liste over loops, ordbøger, sæt eller blandede datatyper, fordi du ikke kan sammenkæde disse typer.
Mens du kan bruge til sløjfe for at udjævne en liste over lister, den sum() funktion er ligetil og mere læsbar, da den er en Python one-liner:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = sum (nestedList, [])
Print(fladliste)
# Output: [1, 3, 4, 2, 4, 7, 9, 0]
Sådan bruger du for-løkken til at flade en blandet indlejret liste
Du kan bruge en Python til loop for både blandede og homogene datatyper. Så det fungerer, uanset om en indlejret liste kun indeholder lister, tupler, sæt, ordbøger eller deres blanding:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
fladliste = []for i i nestedList:
for k i i:
flad liste.Tilføj(k)Print(fladliste)
# Output: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Du kan også opnå dette med en listeforståelse:
flatList = [k for i i nestedList for k i i]
Print(fladliste)
# Output: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Manipuler Python-lister som du vil
En Python-liste forenkler, hvordan du præsenterer og får adgang til data, da den er nem at manipulere. Mens du har set, hvordan man fladgør en indlejret Python-liste, er der stadig mange tweaks, du kan anvende på lister, afhængigt af dit mål. For eksempel er konvertering af en Python-liste til en ordbog en anden almindelig opgave, som Python gør let.