Indeksering og Slicing
Strenger er sekvenser: hvert tegn har en posisjon (en indeks). Python bruker nullindeksering, så det første tegnet er på indeks 0. Du kan hente ut enkelttegn med indeksering og intervaller av tegn med slicing.
Indeksering
Bruk hakeparenteser med én posisjon.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negative indekser teller fra slutten.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indeksering må treffe en eksisterende posisjon, ellers får du IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Strenger er også immutable, så du kan lese s[i], men ikke tilordne til det.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Slicing
Et utsnitt bruker start:stop:step og returnerer en ny streng. stop er eksklusiv (den er ikke inkludert).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Utsnitt er tolerante: å gå utenfor grensene bare beskjærer til gyldige verdier (ingen feil).
12s = "python" print(s[0:100]) # 'python'
Negative indekser og reversering
Det er mulig å bruke negative indekser i slices, og et negativt step går bakover.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step kan ikke være 0. Hvis step utelates, betyr det 1. Hvis start eller stop utelates, betyr det "fra begynnelsen" / "til slutten".
1. Hvilken verdi vil denne koden skrive ut?
2. Hvilken verdi vil denne koden skrive ut?
3. Hvilken setning gir en feil for u = "hello"?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain more about how slicing works with different step values?
What happens if I use both negative start and stop indices in a slice?
Can you show more examples of string indexing and slicing?
Awesome!
Completion rate improved to 5.26
Indeksering og Slicing
Sveip for å vise menyen
Strenger er sekvenser: hvert tegn har en posisjon (en indeks). Python bruker nullindeksering, så det første tegnet er på indeks 0. Du kan hente ut enkelttegn med indeksering og intervaller av tegn med slicing.
Indeksering
Bruk hakeparenteser med én posisjon.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negative indekser teller fra slutten.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indeksering må treffe en eksisterende posisjon, ellers får du IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Strenger er også immutable, så du kan lese s[i], men ikke tilordne til det.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Slicing
Et utsnitt bruker start:stop:step og returnerer en ny streng. stop er eksklusiv (den er ikke inkludert).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Utsnitt er tolerante: å gå utenfor grensene bare beskjærer til gyldige verdier (ingen feil).
12s = "python" print(s[0:100]) # 'python'
Negative indekser og reversering
Det er mulig å bruke negative indekser i slices, og et negativt step går bakover.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step kan ikke være 0. Hvis step utelates, betyr det 1. Hvis start eller stop utelates, betyr det "fra begynnelsen" / "til slutten".
1. Hvilken verdi vil denne koden skrive ut?
2. Hvilken verdi vil denne koden skrive ut?
3. Hvilken setning gir en feil for u = "hello"?
Takk for tilbakemeldingene dine!