Array-metoder
Du vet nå hva en array er, hvordan indekser fungerer, og hvordan du endrer en verdi på en bestemt plass. Men hva om du vil legge til nye verdier, fjerne verdier, eller plukke ut bare de verdiene du trenger?
Da bruker du metoder, funksjoner som hører til arrayen.
Legge til med push()
.push() legger til en eller flere verdier på slutten av arrayen. Arrayen vokser.
append i Python
I Python heter metoden .append(), ikke .push(). Den gjør det samme: legger til én verdi på slutten.
Du kan også legge til flere verdier på én gang:
Fjerne med pop()
.pop() fjerner den siste verdien i arrayen. Men den gjør også noe annet: den returnerer verdien som ble fjernet.
Selv om du ikke tar vare på returverdien, returnerer .pop() den likevel. Verdien bare kastes.
push og pop endrer arrayen
Både .push() og .pop() endrer den originale arrayen. Den vokser eller krymper. Det lages ingen kopi.
Filtrere arrays med filter()
Noen ganger trenger du ikke hele arrayen, bare de verdiene som oppfyller en bestemt betingelse. Da bruker du .filter().
.filter() går gjennom hvert element, sjekker det mot en betingelse, og returnerer en ny array med bare de elementene som bestod.
Legg merke til at tall ikke endres. .filter() lager en helt ny array. Originalen er trygg.
List comprehension i Python
Python har ikke en .filter()-metode på lister slik JavaScript har. I stedet bruker vi list comprehension: [x for x in liste if betingelse]. Det er den vanlige måten å filtrere på i Python.
Lese filter-uttrykket
Steg for steg:
tall.filter(...)gå gjennom hvert element itallt => t > 6for hvert elementt, sjekk: ertstørre enn 6?- Hvis ja → ta med i den nye arrayen
- Hvis nei → hopp over
Forskjellen: endre vs. lage ny
Det er viktig å forstå forskjellen mellom metoder som endrer arrayen og metoder som lager en ny array:
| Metode | Hva den gjør | Endrer originalen? |
|---|---|---|
.push() / .append() |
Legger til på slutten | Ja |
.pop() |
Fjerner siste element | Ja |
.filter() |
Plukker ut elementer | Nei, lager ny |
Denne forskjellen blir viktigere jo mer komplisert koden din blir. Når du bruker .filter(), vet du at originaldataene alltid er trygge.