De viktigste innebygde funksjonene i Python

Lær de viktigste innebygde funksjonene i Python: map, filter, sorted, min, max, sum og mer. Praktiske eksempler og forklaringer.

Du trenger ikke skrive alt fra bunnen av i Python. Språket kommer med en rekke innebygde funksjoner som løser vanlige oppgaver uten at du importerer noe. Du har sannsynligvis brukt print() og len() allerede. Men det finnes flere som kan spare deg for mye kode.

Filtrer data med filter()

filter() tar en funksjon og en samling, og returnerer bare elementene der funksjonen gir True. Si at du har en liste med aldre og vil finne alle over 18:

ages = [5, 12, 17, 18, 24, 32]
adults = list(filter(lambda x: x >= 18, ages))

Resultatet blir [18, 24, 32]. Funksjonen tester hvert element, og bare de som består testen, kommer med videre.

Transformer data med map()

map() kjører en funksjon på hvert element i en samling og returnerer resultatene. Vil du finne lengden på hvert ord i en liste:

words = ("eple", "banan", "ananas")
lengths = list(map(len, words))

Resultatet blir [4, 5, 6]. Der filter velger ut elementer, forandrer map hvert element til noe nytt.

Sjekk betingelser med any() og all()

any() returnerer True hvis minst ett element i en samling er sant. all() returnerer True bare hvis alle elementene er sanne.

any([0, 0, 1]) gir True fordi 1 teller som sant.
all([0, 0, 1]) gir False fordi 0 teller som usant.

Disse er nyttige når du vil sjekke en hel samling uten å skrive en for-løkke med en teller. For eksempel kan du sjekke om alle felt i et skjema er fylt ut: all([name, email, message]).

Sorter med sorted()

sorted() returnerer en ny, sortert liste fra en hvilken som helst samling:

letters = ("B", "G", "A", "D", "F", "C", "E")
sorted(letters) gir ["A", "B", "C", "D", "E", "F", "G"]

Forskjellen fra listemetoden .sort() er at sorted() ikke endrer originalen. Den lager en ny liste. Du kan også sortere i omvendt rekkefølge med sorted(letters, reverse=True).

Finn ytterpunkter med min(), max() og sum()

min() og max() finner henholdsvis den minste og største verdien:

min(5, 10) gir 5
max(5, 10) gir 10

Begge fungerer også på lister, tuples og andre samlinger. sum() legger sammen alle tallene i en samling:

sum([1, 2, 3, 4, 5]) gir 15

Reverser og avrund med reversed() og round()

reversed() snur rekkefølgen på en samling. Den returnerer en iterator, så du må konvertere til liste for å se resultatet:

list(reversed(["a", "b", "c", "d"])) gir ["d", "c", "b", "a"]

round() avrunder et desimaltall til ønsket antall desimaler:

round(29.6667, 2) gir 29.67

Uten det andre argumentet avrunder den til nærmeste heltall.

abs() gir absoluttverdien

abs() fjerner fortegnet fra et tall:

abs(-12) gir 12
abs(212) gir 212

Nyttig når du regner på avstander eller differanser der du bare bryr deg om størrelsen, ikke retningen.

Kombiner innebygde funksjoner for kraftige uttrykk

Styrken kommer når du kombinerer flere funksjoner. Vil du finne summen av alle positive tall i en liste:

sum(filter(lambda x: x > 0, [-3, 5, -1, 8, 2])) gir 15

Eller sortere en liste med navn etter lengde:

sorted(["Magnus", "Li", "Alexander"], key=len) gir ["Li", "Magnus", "Alexander"]

Disse uttrykkene erstatter flere linjer med løkker og midlertidige variabler. Koden blir kortere og lettere å lese når du kjenner verktøyene.

Har du allerede lært å lage egne funksjoner, er innebygde funksjoner det naturlige neste steget. Sammen med lambda-funksjoner gir de deg et kompakt og uttrykksfullt verktøysett.

Den fullstendige listen over innebygde funksjoner finner du i Pythons offisielle dokumentasjon.

Vil du se disse funksjonene i bruk med praktiske eksempler og oppgaver? Python for nybegynnere dekker innebygde funksjoner, datastrukturer og mer gjennom videoer du kan følge i ditt eget tempo.