Lister, indeksering og slicing til CP
Tilgå, udskær og vend uden off-by-one-fejl
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]) # 4Nå 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]) # 3Hvor 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)) # 4Tag 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 untouchedGyldige 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. 🚀
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
- Lister, indeksering og slicing til CP
- Byg arrays hurtigt med comprehensions
- Min, max, sum og løbende totaler
- Find indekset, ikke kun værdien