Indexering en Slicing
Strings zijn reeksen: elk teken heeft een positie (een index). Python gebruikt nul-gebaseerde indexering, dus het eerste teken staat op index 0. Je kunt afzonderlijke tekens ophalen met indexering en reeksen van tekens met slicing.
Indexering
Gebruik vierkante haken met een enkele positie.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negatieve indexen tellen vanaf het einde.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indexering moet een bestaande positie aanduiden, anders ontstaat er een IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Bovendien zijn strings immutable, waardoor je s[i] kunt lezen maar niet kunt toewijzen.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Slicing
Een slice gebruikt start:stop:step en retourneert een nieuwe string. stop is exclusief (wordt niet meegenomen).
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 zijn tolerant: buiten de grenzen gaan wordt automatisch bijgesneden tot geldige waarden (geen foutmelding).
12s = "python" print(s[0:100]) # 'python'
Negatieve indexen en omkeren
Negatieve indexen kunnen worden gecombineerd in slices, en een negatieve step doorloopt de string achterwaarts.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step kan niet 0 zijn. Het weglaten van step betekent 1. Het weglaten van start of stop betekent "vanaf het begin" / "tot het einde".
1. Welke waarde geeft deze code als uitvoer?
2. Welke waarde geeft deze code als uitvoer?
3. Welke bewering veroorzaakt een foutmelding voor u = "hello"?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Indexering en Slicing
Veeg om het menu te tonen
Strings zijn reeksen: elk teken heeft een positie (een index). Python gebruikt nul-gebaseerde indexering, dus het eerste teken staat op index 0. Je kunt afzonderlijke tekens ophalen met indexering en reeksen van tekens met slicing.
Indexering
Gebruik vierkante haken met een enkele positie.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negatieve indexen tellen vanaf het einde.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indexering moet een bestaande positie aanduiden, anders ontstaat er een IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Bovendien zijn strings immutable, waardoor je s[i] kunt lezen maar niet kunt toewijzen.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Slicing
Een slice gebruikt start:stop:step en retourneert een nieuwe string. stop is exclusief (wordt niet meegenomen).
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 zijn tolerant: buiten de grenzen gaan wordt automatisch bijgesneden tot geldige waarden (geen foutmelding).
12s = "python" print(s[0:100]) # 'python'
Negatieve indexen en omkeren
Negatieve indexen kunnen worden gecombineerd in slices, en een negatieve step doorloopt de string achterwaarts.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step kan niet 0 zijn. Het weglaten van step betekent 1. Het weglaten van start of stop betekent "vanaf het begin" / "tot het einde".
1. Welke waarde geeft deze code als uitvoer?
2. Welke waarde geeft deze code als uitvoer?
3. Welke bewering veroorzaakt een foutmelding voor u = "hello"?
Bedankt voor je feedback!