En kapslad lista kan vara en lista med listor eller innehålla flera datatyper. Om du har byggt en av flera mindre datatyper kanske du vill platta till den för att göra objekten mer läsbara och tillgängliga.

Ta reda på hur du förvandlar en kapslad lista till en rak, med tre olika tillvägagångssätt.

Hur man plattar ut en Python-lista

Det finns några sätt att räta ut en kapslad lista i Python, beroende på dess komplexitet. En lista som endast innehåller listor är till exempel lättare att platta till än en med blandade datatyper.

Du kommer att se hur du hanterar var och en av dem i följande avsnitt.

Hur man plattar ut en kapslad lista med listor med Sum()-funktionen

Den här metoden gäller bara för en Python-lista med listor, och det innebär att sammanfoga objekten i en sådan kapslad lista. Det gäller inte en lista med loopar, ordböcker, uppsättningar eller blandade datatyper eftersom du inte kan sammanfoga dessa typer.

Medan du kan använda för loop för att platta till en lista med listor, den belopp() Funktionen är enkel och mer läsbar eftersom den är en Python one-liner:

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

flatList = summa (nestedList, [])
skriva ut(plattlista)

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

Hur man använder for-loopen för att platta till en blandad kapslad lista

Du kan använda en Python för loop för både blandade och homogena datatyper. Så det fungerar oavsett om en kapslad lista bara innehåller listor, tupler, uppsättningar, ordböcker eller deras blandning:

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

för jag i nestedList:
för k i i:
flatList.bifoga(k)

skriva ut(plattlista)

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

Du kan också uppnå detta med en listförståelse:

flatList = [k för i i nestedList för k i i]

skriva ut(plattlista)

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

Manipulera Python-listor som du vill

En Python-lista förenklar hur du presenterar och kommer åt data, eftersom den är lätt att manipulera. Även om du har sett hur man plattar ut en kapslad Python-lista, finns det fortfarande många justeringar du kan tillämpa på listor, beroende på ditt mål. Till exempel är att konvertera en Python-lista till en ordbok en annan vanlig uppgift som Python gör enkelt.