Lyste (lys) in Python. Lys funksies en metodes

In programmering is lyste miskien net so 'n bruikbare datastruktuur as skikkings. Wat is lyste, hoe om dit te skep? Hoe om met lyste in Python te werk? U sal hieroor leer uit ons artikel.

Wat is lyste in Python?

Lyste (lys) in Python. Lys funksies en metodes
Python-datatipes: lyste

Lyste kan gedeeltelik met skikkings geïdentifiseer word, maar die verskil en voordeel van lyste (anders word hulle ook lyste genoem) is dat dit verskillende datatipes kan kombineer. Dit wil sê, die lys maak meer moontlikhede oop vir die berging van enige volgorde van voorwerpe. 'n Veranderlike, wat 'n lys genoem word, bevat 'n verwysing na 'n struktuur in die geheue wat verwysings na alternatiewe strukture bevat.

'n Lys in Python is 'n geordende versameling voorwerpe van gemengde tipes wat gewysig kan word en waarvan die voorwerpe kan verskil.

Wat beteken dit? Kom ons kyk in detail na die definisie.

Die grootte van die lys kan verander, verminder word, nuwe lyne kan daarby gevoeg word. Jy kan ook die hele struktuur van die lys verander. Hou in gedagte dat elke keer as 'n metode in 'n lys gebruik word, die oorspronklike lys verander word, nie die kopie nie.

Vir groter duidelikheid kan u aan 'n lys in Python dink as 'n lys produkte wat in 'n winkel gekoop moet word. As, wanneer 'n inkopieplan gemaak word, al die nodige items onder mekaar geleë is, en elkeen van hulle het sy eie lyn, dan bevat die lys in Python al die elemente geskei deur kommas en tussen vierkantige hakies sodat Python dit kan verstaan 'n lys word hier aangedui. Die elemente word tussen aanhalingstekens ingesluit. Dit is 'n verpligte voorwaarde, want elke element is 'n aparte lyn.

Maniere om 'n lys te skep

Gaan voort na die klassieke voorbeeld, kom ons skep 'n lys wat ons in die toekoms sal gebruik en verander. Daar is verskeie maniere om lyste te genereer.

Een daarvan is die toepassing ingeboude funksie lys ( ). Om dit te doen, moet jy enige voorwerp wat herhaal kan word ('n string, 'n tupel of 'n bestaande lys) verwerk. In hierdie geval, 'n tou.

Hier is wat op die ou end gebeur:

>>> lys('lys') ['c', 'n', 'i', 'c', 'o', 'to']

Die tweede voorbeeld toon dat lyste 'n onbeperkte aantal baie verskillende voorwerpe kan bevat. Die lys kan ook leeg bly.

>>> s = [] # Leë lys >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Die volgende, derde manier om lyste te vorm, is die sogenaamde lys generator.

Die lysgenerator is 'n sintaktiese konstruk vir die skep van lyste. Dit is soortgelyk aan die for-lus.

>>> c = [c * 3 vir c in 'lys'] >>> c ['lll', 'iii', 'sss', 'ttt']

Dit kan ook gebruik word om meer lywige strukture te skep:

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

Hierdie genereringsmetode is egter nie altyd doeltreffend wanneer verskeie lyste saamgestel word nie. Daarom is dit raadsaam om 'n for-lus te gebruik om lyste te genereer.

As jy na enige element uit die lys moet verwys, word indekse gebruik. Elke element het sy eie indeks.

Die indeks is die nommer van die element in die lys.

As jy die lys wil vul met herhalende, identiese elemente, word die *-simbool gebruik. Byvoorbeeld, jy moet drie identiese nommers by die lys voeg: [100] * 3.

Lys funksies

funksies – dit is miskien die grootste voordeel van Python bo ander programmeertale. Basiese ingeboude funksies kan op lyste toegepas word.

Oorweeg die gewildste van hulle:

  • lys (reeks ( )) – as die taak is om 'n opeenvolgende lys te skep, dan word die reeksfunksie gebruik. Hierdie funksie het die volgende vorms:
  1. reeks (einde). Dit word gebruik wanneer dit nodig is om 'n lys van nul tot 'n eindige getal te skep.
  2. reeks (begin, einde). Beide begin- en eindnommers word gespesifiseer.
  3. reeks (begin, einde, stap). Die stapparameter spesifiseer die seleksie-eienskap. Byvoorbeeld, as jy elke vyfde nommer uit 'n ry van 1 tot 21 moet kies, sal die gevolglike lys soos volg lyk: [10,15, 20].

Die reeksfunksie kan die hoeveelheid kode aansienlik verminder.

  • vlas (lys) – laat jou toe om uit te vind hoeveel elemente in die lys is.
  • sorted (lys, [sleutel]) – sorteer die voorwerpe in die lys in stygende volgorde.
  • maksimum (lys) – gee die grootste element terug.
  • min (lys) – teenoorgestelde funksie – laat jou toe om die element met die minimum waarde terug te gee.

Jy kan ook ander ingeboude funksies gebruik:

  • lys (tuple) - Skakel 'n tupel-voorwerp na 'n lys om.
  • som (lys) - som alle elemente in die lys op as alle waardes getalle is, is van toepassing op beide heelgetalle en desimale. Sy kry dit egter nie altyd reg nie. As daar 'n nie-numeriese element in die lys is, sal die funksie 'n fout gooi: "TypeError: onondersteunde operand tipe(s) vir +: 'int' en 'str'".

Noteringsmetodes

Lyste (lys) in Python. Lys funksies en metodes
Lys van Python-metodes

Kom ons gaan terug na ons lys van items om in die winkel te koop en noem dit winkellys:

winkellys = []

Oorweeg dan die lysmetodes:

  • byvoeg (item) – met die hulp daarvan kan u 'n element by die lys voeg. In hierdie geval sal die nuwe element aan die einde wees.

Kom ons vul ons nuwe lys met die regte produkte:

winkellys.append(brood)

winkellys.append(melk)

  • lys.verleng (A) - voeg "lys by lys". Hierdie kenmerk spaar tyd, aangesien jy verskeie items op dieselfde tyd kan byvoeg. Kom ons sê ons het reeds 'n lys vrugte, ons moet dit by die hooflys voeg.

shoplist.extend(vrugte)

  • invoeg (indeks, item) – voeg op die element met die gespesifiseerde indeks die gespesifiseerde waarde voor die gespesifiseerde indeks in.
  • lcount (item) – wys die aantal herhalings van die element.
  • lys.verwyder(item) is die teenoorgestelde funksie lys.byvoeg (x). Dit kan gebruik word om enige element te verwyder. As die geselekteerde item nie in die lys is nie, word 'n fout aangemeld.
  • pop([indeks]) – verwyder die geselekteerde element en gee dit op dieselfde manier terug. As die element nie gespesifiseer is nie, word die laaste element van die lys verwyder.
  • sorteer ([sleutel]) – plaas die elemente in die lys in stygende volgorde, maar jy kan ook 'n funksie spesifiseer.
  • indeks (item) – wys die indeks van die eerste geselekteerde element.
  • U kan die lys uitbrei, dit wil sê, al sy elemente weerspieël deur die metode te gebruik omgekeerde (lys). Die laaste element word die eerste, die voorlaaste element word die tweede, ensovoorts.
  • 'n Afskrif van die lys word met die opdrag geskep kopie (lys).
  • diepkopie (lys) – diep kopiëring.
  • Verwyder alle lyselemente deur die metode te gebruik maak lys skoon).

Dit is opmerklik dat lysmetodes verskil van stringmetodes deurdat hulle die lys onmiddellik verander, dit wil sê dat dit nie nodig is om die resultaat van uitvoering terug te gee nie.

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

Die volgende is 'n voorbeeld van werk met lyste:

>>> 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.add(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 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Lewer Kommentaar