Lister ( liste ) i Python. Liste funksjoner og metoder

I programmering er lister kanskje en like nyttig datastruktur som arrays. Hva er lister, hvordan lager jeg dem? Hvordan jobbe med lister i Python? Du vil lære om dette fra artikkelen vår.

Hva er lister i Python?

Lister ( liste ) i Python. Liste funksjoner og metoder
Python-datatyper: Lister

Lister kan delvis identifiseres med arrays, men forskjellen og fordelen med lister (ellers kalles de også lister) er at de kan kombinere ulike datatyper. Det vil si at oppføringen åpner for flere muligheter for å lagre en hvilken som helst sekvens av objekter. En variabel, kalt en liste, inneholder en referanse til en struktur i minnet som inneholder referanser til alternative strukturer.

En liste i Python er en ordnet samling av objekter av blandede typer som kan endres og hvis objekter kan variere.

Hva betyr det? La oss ta en titt på definisjonen i detalj.

Størrelsen på oppføringen kan endres, reduseres, nye linjer kan legges til. Du kan også endre hele strukturen til listen. Husk at hver gang en metode i en liste brukes, endres den opprinnelige listen, ikke kopien.

For større klarhet kan du tenke på en oppføring i Python som en liste over produkter som må kjøpes i en butikk. Hvis, når du lager en handleplan, er alle de nødvendige varene plassert under hverandre, og hver av dem har sin egen linje, så inneholder oppføringen i Python alle elementene atskilt med komma og i firkantede parenteser slik at Python kan forstå at en liste er angitt her. Elementene er omgitt av anførselstegn. Dette er en obligatorisk betingelse, fordi hvert element er en egen linje.

Måter å lage en liste på

Gå videre til det klassiske eksemplet, la oss lage en liste som vi vil bruke og endre i fremtiden. Det er flere måter å generere oppføringer på.

En av dem er søknaden innebygd funksjonsliste( ). For å gjøre dette, må du behandle ethvert objekt som kan itereres (en streng, en tuppel eller en eksisterende liste). I dette tilfellet en streng.

Her er hva som skjer til slutt:

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

Det andre eksemplet viser at lister kan inneholde et ubegrenset antall svært forskjellige objekter. Oppføringen kan også forbli tom.

>>> s = [] # Tom liste >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Den neste, tredje måten å danne oppføringer på er den såkalte listegenerator.

Listegeneratoren er en syntaktisk konstruksjon for å lage oppføringer. Den ligner på for loop.

>>> c = [c * 3 for c i 'liste'] >>> c ['lll', 'iii', 'sss', 'ttt']

Den kan også brukes til å lage mer voluminøse strukturer:

>>> c = [c * 3 for c i 'liste' hvis c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d for c i 'list' if c != 'i' for d i 'spam' if d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Denne generasjonsmetoden er imidlertid ikke alltid effektiv når du kompilerer flere oppføringer. Derfor er det tilrådelig å bruke en for-løkke for å generere oppføringer.

Hvis du trenger å referere til et element fra listen, brukes indekser. Hvert element har sin egen indeks.

Indeksen er nummeret på elementet i listen.

Hvis du ønsker å fylle oppføringen med gjentatte, identiske elementer, brukes *-symbolet. Du må for eksempel legge til tre identiske tall i oppføringen: [100] * 3.

Listefunksjoner

funksjoner – dette er kanskje hovedfordelen med Python fremfor andre programmeringsspråk. Grunnleggende innebygde funksjoner kan brukes på lister.

Tenk på de mest populære av dem:

  • liste(område( )) – hvis oppgaven er å lage en sekvensiell liste, brukes rekkeviddefunksjonen. Denne funksjonen har følgende former:
  1. område(slutt). Den brukes når det er nødvendig å lage en oppføring fra null til et endelig tall.
  2. område (start, slutt). Både start- og sluttnummer er spesifisert.
  3. område (start, slutt, trinn). Step-parameteren spesifiserer valgkarakteristikken. For eksempel, hvis du trenger å velge hvert femte tall fra en sekvens fra 1 til 21, vil den resulterende oppføringen se slik ut: [10,15, 20].

Rangefunksjonen kan redusere mengden kode betraktelig.

  • lin (liste) – lar deg finne ut hvor mange elementer som er på listen.
  • sortert (liste, [nøkkel]) – sorterer objektene i listen i stigende rekkefølge.
  • maks (liste) – returnerer det største elementet.
  • min (liste) – motsatt funksjon – lar deg returnere elementet med minimumsverdien.

Du kan også bruke andre innebygde funksjoner:

  • liste (tuppel) – Konverterer et tuppelobjekt til en liste.
  • sum(liste) – summerer alle elementene i listen hvis alle verdier er tall, gjelder både heltall og desimaler. Men hun får det ikke alltid til. Hvis det er et ikke-numerisk element i listen, vil funksjonen gi en feilmelding: "TypeError: unsupported operand type(s) for +: 'int' and 'str'".

Oppføringsmetoder

Lister ( liste ) i Python. Liste funksjoner og metoder
Liste over Python-metoder

La oss gå tilbake til listen vår over varer som kan kjøpes i butikken og kalle den butikkliste:

butikkliste = []

Vurder deretter listemetodene:

  • append(item) – med dens hjelp kan du legge til et element i listen. I dette tilfellet vil det nye elementet være på slutten.

La oss fylle vår nye oppføring med de riktige produktene:

shoplist.append(brød)

shoplist.append(melk)

  • liste.forlenge(A) – legger til "liste til liste". Denne funksjonen sparer tid ettersom du kan legge til flere elementer samtidig. La oss si at vi allerede har en liste over frukt, vi må legge dem til hovedlisten.

shoplist.extend(fruits)

  • insert(indeks, element) – setter inn på elementet med den spesifiserte indeksen den angitte verdien før den spesifiserte indeksen.
  • lcount(item) – viser antall repetisjoner av elementet.
  • liste.fjerne(elementet) er den motsatte funksjonen liste.legge til (x). Den kan brukes til å fjerne et hvilket som helst element. Hvis det valgte elementet ikke er på listen, rapporteres en feil.
  • pop([indeks]) – fjerner det valgte elementet og returnerer det på samme måte. Hvis elementet ikke er spesifisert, fjernes det siste elementet fra listen.
  • sorter ([nøkkel]) – setter elementene i listen i stigende rekkefølge, men du kan også angi en funksjon.
  • indeks (vare) – viser indeksen til det første valgte elementet.
  • Du kan utvide listen, det vil si speile alle elementene ved hjelp av metoden reverse (liste). Det siste elementet blir det første, det nest siste elementet blir det andre, og så videre.
  • En kopi av listen opprettes med kommandoen kopi(liste).
  • deepcopy (liste) – dyp kopiering.
  • Fjern alle oppføringselementer ved hjelp av metoden klar liste).

Det er verdt å merke seg at listemetoder skiller seg fra strengmetoder ved at de umiddelbart endrer listen, det vil si at det ikke er nødvendig å returnere resultatet av utførelse.

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

Følgende er et eksempel på arbeid med lister:

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

Legg igjen en kommentar