Forberedelse til kodeinterviews · Lektion

Lister, indeksering og slicing til CP

Tilgå, udskær og vend uden off-by-one-fejl

Lektion 1 af 413 trin

Lister, indeksering og slicing til CP er en gratis Forberedelse til kodeinterviews-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 Forberedelse til kodeinterviews, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Forberedelse til kodeinterviews-kurset indeholder 4 lektioner i alt.

Din arbejdshest til konkurrencer

I konkurrenceprogrammering i Python er listen dit foretrukne array. Den gemmer elementer i rækkefølge og vokser efter behov, så de fleste opgaver begynder her.

a = [4, 1, 7, 3]

Indeksering fra nul

Lister bruger nulbaseret indeksering, så a[0] er det første element. Hvis du glemmer det, får du den klassiske fejl med én for meget eller for lidt, som koster lette point.

a = [4, 1, 7, 3]
print(a[0])  # 4

Nå slutningen bagfra

Negative indekser tæller fra højre, så a[-1] er det sidste element. Du behøver ikke selv beregne len(a) - 1.

a = [4, 1, 7, 3]
print(a[-1])  # 3

Hvor lang er den?

Brug len(a) for at få antallet af elementer. Gyldige indekser går derefter fra 0 til og med len(a) - 1, aldrig længere.

a = [4, 1, 7, 3]
print(len(a))  # 4

Tag et udsnit

Et udsnit a[i:j] tager elementer fra indeks i til, men ikke med, j. Den højre ende er altid udeladt.

a = [4, 1, 7, 3]
print(a[1:3])  # [1, 7]

Udsnit uden fast slutpunkt

Lad den ene side stå tom for at nå kanten. a[:k] tager de første k elementer, og a[k:] tager alt fra k og frem.

a = [4, 1, 7, 3]
print(a[:2], a[2:])

Gå gennem med spring

Det tredje tal er springet. a[::2] tager hvert andet element, hvilket er praktisk til at opdele elementer på lige og ulige pladser.

a = [4, 1, 7, 3]
print(a[::2])  # [4, 7]

Vend på én gang

Et spring på -1 vender listen. a[::-1] giver en omvendt kopi uden at ændre originalen, hvilket er nyttigt til palindromer.

a = [4, 1, 7, 3]
print(a[::-1])  # [3, 7, 1, 4]

Udsnit laver kopier

Et udsnit returnerer en ny liste, så a[:] er en hurtig overfladisk kopi. Hvis du redigerer kopien, ændrer du ikke den oprindelige liste.

b = a[:]
b[0] = 99  # a is untouched

Gyldige grænser forhindrer nedbrud

Læsning af a[len(a)] udløser en IndexError, hvilket straks giver en køretidsfejl. Kontrollér altid, at et indeks ligger inden for listen.

if i < len(a):
    use(a[i])

Udsnit giver aldrig nedbrud

I modsætning til indeksering er et udsnit uden for intervallet tilgivende. a[2:99] returnerer blot det, der findes, så det afkortes lydløst ved slutningen.

a = [4, 1, 7, 3]
print(a[2:99])  # [7, 3]

Hurtigt tjek

Test din fornemmelse for udsnit på en lille liste.

Opsummering: Lister i hånden

Du kan nu indeksere fra begge ender, tage udsnit af intervaller, bruge spring og vende sikkert. Dette grundlæggende om lister er fundamentet for alle kommende arrayopgaver. 🚀

Gratis at komme i gang

Lær Forberedelse til kodeinterviews 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
90
Lektioner
360

Ofte stillede spørgsmål

Er lektionen “Lister, indeksering og slicing til CP” gratis?

Ja — hele teksten til “Lister, indeksering og slicing til CP” 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 Forberedelse til kodeinterviews-kurset, skal du opgradere til CoddyKit PRO. Forberedelse til kodeinterviews-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Lister, indeksering og slicing til CP”?

Tilgå, udskær og vend uden off-by-one-fejl Du øver dig i Forberedelse til kodeinterviews 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å Forberedelse til kodeinterviews?

Der kræves ingen tidligere erfaring. Forberedelse til kodeinterviews 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 “Lister, indeksering og slicing til CP”?

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 Forberedelse til kodeinterviews-lektion?

Ja. Alle Forberedelse til kodeinterviews-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. Lister, indeksering og slicing til CP
  2. Byg arrays hurtigt med comprehensions
  3. Min, max, sum og løbende totaler
  4. Find indekset, ikke kun værdien
← Tilbage til Forberedelse til kodeinterviews