Indizierung und Slicing
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"?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
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?
Großartig!
Completion Rate verbessert auf 3.45
Indizierung und Slicing
Swipe um das Menü anzuzeigen
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"?
Danke für Ihr Feedback!