Python Academy · Lektion

Liste-comprehensions

Opret lister kortfattet med comprehension-syntaks og betingelser.

Lektion 1 af 414 trin

Liste-comprehensions er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Introduktion

Listeudtryk opretter nye lister fra itererbare objekter i ét letlæseligt udtryk og erstatter almindelige for-løkkemønstre.

Grundlæggende syntaks

[expression for item in iterable] er grundformen. [x*2 for x in range(5)] giver [0,2,4,6,8].
doubled = [x*2 for x in range(5)]
print(doubled)

Med en betingelse

[x for x in range(10) if x%2==0] filtrerer til lige tal. if-klausulen kommer efter for-klausulen.
evens = [x for x in range(10) if x % 2 == 0]
print(evens)

Transformation af strenge

[word.upper() for word in words] anvender upper() på hver streng. Det fungerer med alle itererbare objekter.
words = ['hello', 'world']
print([w.upper() for w in words])

Indlejret listeudtryk

[x for row in matrix for x in row] er et fladt, indlejret listeudtryk (det læses fra venstre mod højre med den ydre løkke først).
matrix = [[1,2,3],[4,5,6]]
flat = [x for row in matrix for x in row]
print(flat)

if/else i et udtryk

[x if x>0 else 0 for x in lst] bruger det ternære udtryk i udtryksdelen (før for), ikke bagefter.
lst = [-1, 2, -3, 4]
clipped = [x if x > 0 else 0 for x in lst]
print(clipped)

Listeudtryk kontra map/filter

[f(x) for x in it if cond(x)] svarer til list(map(f, filter(cond, it))), men er mere læseligt.
nums = range(10)
result = [x**2 for x in nums if x%2==0]
print(result)

Fladgøring med listeudtryk

Ved to eller flere indlejringsniveauer kan et listeudtryk flade strukturen: [[1,2],[3,4]] → [1,2,3,4].
nested = [[1,2],[3,4],[5]]
flat = [x for sub in nested for x in sub]
print(flat)

Listeudtryk med enumerate()

[(i, x) for i, x in enumerate(lst)] giver en liste med indeks-værdi-par.
colors = ['red', 'green', 'blue']
indexed = [(i, c) for i, c in enumerate(colors)]
print(indexed)

Listeudtryk med zip()

[a+b for a, b in zip(lst1, lst2)] lægger tilsvarende elementer fra to lister sammen.
a = [1, 2, 3]
b = [10, 20, 30]
print([x+y for x,y in zip(a,b)])

Hvornår du IKKE skal bruge listeudtryk

Hvis logikken er kompleks eller kræver bivirkninger, skal du bruge en almindelig for-løkke. Listeudtryk bør forblive på én linje.
# Too complex for comprehension:
result = []
for x in range(10):
    if x > 5:
        result.append(x * x)
print(result)

Hurtigt tjek

Hvor placeres det ternære udtryk i et listeudtryk med både en betingelse og et ternært udtryk?

Opsummering

Listeudtryk: [expr for x in it if cond]. Ternært udtryk: [x if cond else y for x in it]. Brug dem til flade, læselige transformationer.

Fortsæt

Fremragende! Fortsæt til næste lektion for at styrke dine færdigheder.
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Liste-comprehensions” gratis?

Ja — hele teksten til “Liste-comprehensions” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Liste-comprehensions”?

Opret lister kortfattet med comprehension-syntaks og betingelser. Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Liste-comprehensions”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Liste-comprehensions
  2. Comprehensions for mængder og dicts
  3. Generatorudtryk
  4. Nøgleordet yield
← Tilbage til Python Academy