Indeksering og Slicing
Strenger er sekvenser: hvert tegn har en posisjon (en indeks). Python bruker nullindeksering, så det første tegnet har 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å det er mulig å 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 å blande 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, antas verdien å være 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 påstand 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
Fantastisk!
Completion rate forbedret til 3.45
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 har 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å det er mulig å 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 å blande 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, antas verdien å være 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 påstand gir en feil for u = "hello"?
Takk for tilbakemeldingene dine!