Een geneste lijst kan een lijst met lijsten zijn of meerdere gegevenstypen bevatten. Als u er een hebt gemaakt van verschillende kleinere gegevenstypen, wilt u deze misschien afvlakken om de items leesbaarder en toegankelijker te maken.

Ontdek hoe u van een geneste lijst een rechte kunt maken, met drie verschillende benaderingen.

Een Python-lijst afvlakken

Er zijn een paar manieren om een ​​geneste lijst in Python recht te trekken, afhankelijk van de complexiteit ervan. Een lijst met alleen lijsten is bijvoorbeeld gemakkelijker af te vlakken dan een lijst met gemengde gegevenstypen.

U zult in de volgende secties zien hoe u met elk van hen kunt omgaan.

Een geneste lijst met lijsten afvlakken met de functie Sum()

Deze methode is alleen van toepassing op een Python-lijst met lijsten en het houdt in dat de items in zo'n geneste lijst worden samengevoegd. Het is niet van toepassing op een lijst met lussen, woordenboeken, sets of gemengde gegevenstypen, omdat u deze typen niet kunt samenvoegen.

Hoewel u de. kunt gebruiken

voor lus om een ​​lijst met lijsten af ​​te vlakken, de som() functie is eenvoudig en beter leesbaar omdat het een Python-oneliner:

genesteLijst = [[1, 3, 4], [2, 4], [7, 9, 0]]

flatList = som (nestedList, [])
afdrukken(platte lijst)

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

De for-lus gebruiken om een ​​gemengde geneste lijst af te vlakken

U kunt een Python voor lus voor zowel gemengde als homogene gegevenstypen. Het werkt dus of een geneste lijst alleen lijsten, tuples, sets, woordenboeken of hun mengsel bevat:

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

voor i in genesteLijst:
voor k in ik:
platte lijst.toevoegen(k)

afdrukken(platte lijst)

# Uitgang: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'O', 't']

U kunt dit ook bereiken met een lijstbegrip:

flatList = [k voor i in genesteList voor k in i]

afdrukken(platte lijst)

# Uitgang: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'O', 't']

Manipuleer Python-lijsten zoals u wilt

Een Python-lijst vereenvoudigt de manier waarop u gegevens presenteert en opent, omdat deze gemakkelijk te manipuleren is. Hoewel je hebt gezien hoe je een geneste Python-lijst kunt afvlakken, zijn er nog steeds veel aanpassingen die je op lijsten kunt toepassen, afhankelijk van je doel. Het converteren van een Python-lijst naar een woordenboek is bijvoorbeeld een andere veelvoorkomende taak die Python gemakkelijk maakt.