Indeksering og Udskæring
Strings are sequences: each character has a position (an index). Python uses zero-based indexing, so the first character is at index 0. You can take single characters with indexing and ranges of characters with slicing.
Indexing
Use square brackets with a single position.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negative indices count from the end.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indexing must hit an existing position, otherwise you get IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Also, strings are immutable, so you can read s[i] but not assign to it.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Slicing
A slice uses start:stop:step and returns a new string. stop is exclusive (it's not included).
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)
Slices are forgiving: going past the ends just trims to valid bounds (no error).
12s = "python" print(s[0:100]) # 'python'
Negative Indices and Reversing
You can mix negative indices in slices, and a negative step walks backward.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step cannot be 0. Leaving out step implies 1. Leaving out start or stop means "from the beginning" / "to the end".
1. What value will this code output?
2. What value will this code output?
3. Which statement raises an error for u = "hello"?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain more about how negative indexing works in Python?
What happens if I try to access an index that doesn't exist in the string?
Can you show more examples of slicing with different step values?
Fantastisk!
Completion rate forbedret til 3.45
Indeksering og Udskæring
Stryg for at vise menuen
Strings are sequences: each character has a position (an index). Python uses zero-based indexing, so the first character is at index 0. You can take single characters with indexing and ranges of characters with slicing.
Indexing
Use square brackets with a single position.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negative indices count from the end.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indexing must hit an existing position, otherwise you get IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Also, strings are immutable, so you can read s[i] but not assign to it.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Slicing
A slice uses start:stop:step and returns a new string. stop is exclusive (it's not included).
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)
Slices are forgiving: going past the ends just trims to valid bounds (no error).
12s = "python" print(s[0:100]) # 'python'
Negative Indices and Reversing
You can mix negative indices in slices, and a negative step walks backward.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step cannot be 0. Leaving out step implies 1. Leaving out start or stop means "from the beginning" / "to the end".
1. What value will this code output?
2. What value will this code output?
3. Which statement raises an error for u = "hello"?
Tak for dine kommentarer!