Lijsten ( lijst ) in Python. Lijst functies en methoden

Bij het programmeren zijn lijsten misschien net zo'n nuttige gegevensstructuur als arrays. Wat zijn lijsten, hoe maak je ze aan? Hoe te werken met lijsten in Python? U leert hierover in ons artikel.

Wat zijn lijsten in Python?

Lijsten ( lijst ) in Python. Lijst functies en methoden
Python-gegevenstypen: lijsten

Lijsten kunnen gedeeltelijk worden geïdentificeerd met arrays, maar het verschil en voordeel van lijsten (anders worden ze ook lijsten genoemd) is dat ze verschillende gegevenstypen kunnen combineren. Dat wil zeggen, de lijst opent meer mogelijkheden voor het opslaan van een reeks objecten. Een variabele, een lijst genoemd, bevat een verwijzing naar een structuur in het geheugen die verwijzingen naar alternatieve structuren bevat.

Een lijst in Python is een geordende verzameling objecten van gemengde typen die kunnen worden gewijzigd en waarvan de objecten kunnen verschillen.

Wat betekent het? Laten we de definitie in detail bekijken.

De grootte van de lijst kan worden gewijzigd, verkleind en er kunnen nieuwe regels aan worden toegevoegd. U kunt ook de hele structuur van de lijst wijzigen. Houd er rekening mee dat elke keer dat een methode in een lijst wordt gebruikt, de originele lijst wordt gewijzigd, niet de kopie.

Voor meer duidelijkheid kun je een vermelding in Python zien als een lijst met producten die in een winkel moeten worden gekocht. Als bij het maken van een winkelplan alle benodigde items onder elkaar staan, en elk van hen heeft zijn eigen regel, dan bevat de lijst in Python alle elementen gescheiden door komma's en tussen vierkante haken, zodat Python dat kan begrijpen een lijst wordt hier aangegeven. De elementen staan ​​tussen aanhalingstekens. Dit is een verplichte voorwaarde, omdat elk element een aparte regel is.

Manieren om een ​​lijst te maken

Laten we verder gaan met het klassieke voorbeeld en een lijst maken die we in de toekomst zullen gebruiken en wijzigen. Er zijn verschillende manieren om lijsten te genereren.

Een daarvan is de applicatie ingebouwde functielijst( ). Om dit te doen, moet u elk object verwerken dat kan worden herhaald (een string, een tuple of een bestaande lijst). In dit geval een string.

Dit is wat er uiteindelijk gebeurt:

>>> lijst('lijst') ['c', 'n', 'i', 'c', 'o', 'naar']

Het tweede voorbeeld laat zien dat lijsten een onbeperkt aantal zeer verschillende objecten kunnen bevatten. De vermelding kan ook leeg blijven.

>>> s = [] # Lege lijst >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

De volgende, derde manier om lijsten te vormen is de zogenaamde lijstgenerator.

De listinggenerator is een syntactische constructie voor het maken van listings. Het is vergelijkbaar met de for-lus.

>>> c = [c * 3 voor c in 'lijst'] >>> c ['lll', 'iii', 'sss', 'ttt']

Het kan ook worden gebruikt om meer volumineuze structuren te creëren:

>>> c = [c * 3 voor c in 'lijst' if c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d voor c in 'lijst' als c != 'i' voor d in 'spam' als d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Deze generatiemethode is echter niet altijd efficiënt bij het samenstellen van meerdere lijsten. Daarom is het raadzaam om een ​​for-lus te gebruiken om listings te genereren.

Als u naar een element uit de lijst moet verwijzen, worden indexen gebruikt. Elk element heeft zijn eigen index.

De index is het nummer van het element in de lijst.

Als u de lijst wilt vullen met herhalende, identieke elementen, wordt het *-teken gebruikt. U moet bijvoorbeeld drie identieke nummers aan de lijst toevoegen: [100] * 3.

Functies weergeven

functies – dit is misschien wel het belangrijkste voordeel van Python ten opzichte van andere programmeertalen. Basis ingebouwde functies kunnen worden toegepast op lijsten.

Overweeg de meest populaire van hen:

  • lijst(bereik( )) – als het de taak is om een ​​sequentiële lijst te maken, wordt de bereikfunctie gebruikt. Deze functie heeft de volgende vormen:
  1. bereik (einde). Het wordt gebruikt wanneer het nodig is om een ​​lijst te maken van nul tot een eindig getal.
  2. bereik (begin, einde). Zowel begin- als eindnummers worden gespecificeerd.
  3. bereik (begin, einde, stap). De stapparameter specificeert het selectiekenmerk. Als u bijvoorbeeld elk vijfde getal uit een reeks van 1 tot 21 moet selecteren, ziet de resulterende lijst er als volgt uit: [10,15, 20].

De bereikfunctie kan de hoeveelheid code aanzienlijk verminderen.

  • vlas (lijst) – hiermee kunt u zien hoeveel elementen er in de lijst staan.
  • gesorteerd(lijst, [toets]) – sorteert de objecten in de lijst in oplopende volgorde.
  • maximaal (lijst) – geeft het grootste element terug.
  • min (lijst) - tegenovergestelde functie - hiermee kunt u het element met de minimale waarde retourneren.

U kunt ook andere ingebouwde functies gebruiken:

  • lijst (tupel) – Converteert een tuple-object naar een lijst.
  • som(lijst) – telt alle elementen in de lijst op als alle waarden getallen zijn, geldt voor zowel gehele getallen als decimalen. Toch heeft ze het niet altijd goed. Als er een niet-numeriek element in de lijst staat, zal de functie een foutmelding geven: “TypeError: unsupported operand type(s) for +: 'int' en 'str'”.

Lijstmethoden

Lijsten ( lijst ) in Python. Lijst functies en methoden
Lijst met Python-methoden

Laten we teruggaan naar onze lijst met artikelen die we in de winkel kunnen kopen en het winkellijst noemen:

winkellijst = []

Overweeg vervolgens de lijstmethoden:

  • toevoegen (item) - met zijn hulp kunt u een element aan de lijst toevoegen. In dit geval staat het nieuwe element aan het einde.

Laten we onze nieuwe lijst vullen met de juiste producten:

winkellijst.append(brood)

winkellijst.append(melk)

  • lijst.verlengen(A) - voegt "lijst aan lijst" toe. Deze functie bespaart tijd omdat u meerdere items tegelijk kunt toevoegen. Laten we zeggen dat we al een lijst met fruit hebben, we moeten ze toevoegen aan de hoofdlijst.

winkellijst.verleng(fruit)

  • invoegen (index, item) – voegt op het element met de gespecificeerde index de gespecificeerde waarde vóór de gespecificeerde index in.
  • aantal (item) – toont het aantal herhalingen van het element.
  • lijst.verwijderen(item) is de tegenovergestelde functie lijst.toevoegen (x). Het kan worden gebruikt om elk element te verwijderen. Als het geselecteerde item niet in de lijst staat, wordt een fout gemeld.
  • pop([index]) – verwijdert het geselecteerde element en retourneert het op dezelfde manier. Als het element niet is opgegeven, wordt het laatste element uit de lijst verwijderd.
  • sorteren([sleutel]) – zet de elementen in de lijst in oplopende volgorde, maar je kunt ook een functie specificeren.
  • index(artikel) – toont de index van het eerste geselecteerde element.
  • U kunt de lijst uitbreiden, dat wil zeggen, alle elementen spiegelen, met behulp van de methode omgekeerd(lijst). Het laatste element wordt het eerste, het voorlaatste element wordt het tweede, enzovoort.
  • Er wordt een kopie van de lijst gemaakt met het commando kopie(lijst).
  • deepcopy(lijst) – diep kopiëren.
  • Verwijder alle vermeldingselementen met behulp van de methode duidelijke lijst).

Het is vermeldenswaard dat lijstmethoden verschillen van tekenreeksmethoden doordat ze de lijst onmiddellijk wijzigen, dat wil zeggen dat het niet nodig is om het resultaat van de uitvoering te retourneren.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> print(l) Geen

Het volgende is een voorbeeld van het werken met lijsten:

>>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> een.sort() >>> een [-1, 1, 66.25, 333, 333, 1234.5]

Laat een reactie achter