Python Academy · Lektion

Indlejrede lister og iteration

Arbejd med indlejrede lister, og iterér effektivt med for-løkker.

Lektion 4 af 414 trin

Indlejrede lister og iteration er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 4 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

Lister kan indeholde andre lister, så du kan oprette strukturer med flere dimensioner. Det er vigtigt at mestre indlejret iteration, når du arbejder med gitre og matricer.

Indlejret listes struktur

matrix = [[1,2,3],[4,5,6],[7,8,9]] er et gitter på 3x3. matrix[1][2] tilgår række 1, kolonne 2 — det vil sige 6.
matrix = [[1,2,3],[4,5,6],[7,8,9]]
print(matrix[1][2])

Iteration gennem rækker

for row in matrix: print(row) udskriver hver underliste. row er selv en liste, som du kan indeksere.
matrix = [[1,2],[3,4]]
for row in matrix:
    print(row)

Indlejrede for-løkker

for row in matrix: for val in row: print(val) udskriver hvert enkelt element.
matrix = [[1,2],[3,4]]
for row in matrix:
    for val in row:
        print(val, end=' ')

Gør en indlejret liste flad

[x for row in matrix for x in row] gør ét niveau fladt. Dette er et indlejret liste-comprehension-udtryk.
matrix = [[1,2],[3,4]]
flat = [x for row in matrix for x in row]
print(flat)

Oprettelse af et gitter

Opret et gitter på N×M: grid = [[0]*M for _ in range(N)] Brug et liste-comprehension-udtryk, IKKE [[0]*M]*N, som opretter aliaserede rækker.
grid = [[0]*3 for _ in range(3)]
grid[0][0] = 1
print(grid)

Fælden med aliaserede rækker

grid = [[0]*3]*3 opretter tre referencer til den samme række. Hvis du ændrer én række, ændres de alle. Brug altid et comprehension-udtryk.
bad = [[0]*3]*3
bad[0][0] = 9
print(bad)  # all rows changed!

zip() til parallel iteration

for a, b in zip(list1, list2) itererer gennem to lister parallelt. zip() stopper ved den korteste liste.
names = ['Alice', 'Bob']
scores = [90, 85]
for n, s in zip(names, scores):
    print(n, s)

enumerate() med indlejrede lister

for i, row in enumerate(matrix): for j, val in enumerate(row): giver dig både indekser og værdier.
matrix = [[1,2],[3,4]]
for i, row in enumerate(matrix):
    for j, val in enumerate(row):
        print(f'[{i}][{j}]={val}')

Sortering af en liste med lister

sorted(data, key=lambda x: x[1]) sorterer efter det andet element i hver underliste.
data = [['Bob',85],['Alice',90],['Charlie',78]]
data.sort(key=lambda x: x[1])
print(data)

Transponering af en matrice

transposed = list(zip(*matrix)) transponerer rækker til kolonner. * pakker den ydre liste ud som argumenter til zip.
matrix = [[1,2,3],[4,5,6]]
print(list(zip(*matrix)))

Hurtigt tjek

Hvad er den korrekte måde at oprette et 3x3-gitter fyldt med nuller på, så du undgår fælden med aliaserede rækker?

Opsummering

Indlejrede lister: tilgås med [row][col] og gennemløbes med indlejrede for-løkker. Brug et comprehension-udtryk til at opbygge gitre. Brug zip() til parallel iteration og zip(*matrix) til transponering.

Fortsæt

Flot arbejde! Gå videre til den næste lektion for at fortsætte med at udvikle 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 “Indlejrede lister og iteration” gratis?

Ja — hele teksten til “Indlejrede lister og iteration” 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 “Indlejrede lister og iteration”?

Arbejd med indlejrede lister, og iterér effektivt med for-løkker. 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 4 af 4.

Hvor lang tid tager lektionen “Indlejrede lister og iteration”?

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. Oprettelse og adgang til lister
  2. Ændring af lister
  3. Tupler og uforanderlighed
  4. Indlejrede lister og iteration
← Tilbage til Python Academy