0%

Werken met tekst · oefening

Neem delen met slices

Met een index haal je één teken op. Een slice haalt een reeks tekens op als een nieuwe string.

word = "planet"
beginning = word[0:3]
print(beginning)

De uitvoer is pla.

Het begin telt mee, het einde niet

Een eenvoudige slice heeft twee indexen, gescheiden door een dubbele punt:

text[start:stop]

De beginindex telt mee. De eindindex telt niet mee.

Bij word[0:3] neemt Python de indexen 0, 1 en 2. Het stopt vóór index 3.

De string planet staat uitgelijnd met positieve en negatieve indexen. Een slice begint bij index 0, die meetelt, stopt vóór index 3, die niet meetelt, en geeft 'pla' terug.

Deze regel voelt in het begin misschien vreemd, maar heeft handige gevolgen. Het aantal tekens in word[0:3] is 3 - 0, dus drie. In het diagram betekent included dat de beginindex meetelt en excluded dat de eindindex niet meetelt; result is het resultaat.

Laat een grens weg

Laat het begin weg om vanaf het eerste teken te nemen:

print(word[:3])

Laat het einde weg om door te gaan tot het laatste teken:

print(word[3:])

Dit drukt pla en net af.

Je kunt in slices ook negatieve indexen gebruiken:

print(word[-3:])

Dit neemt de laatste drie tekens: net.

Slices zijn vergevingsgezind

Een losse index buiten de string geeft een IndexError. Een slice mag voorbij het einde stoppen zonder fout:

print(word[:100])

Python geeft alle beschikbare tekens terug. Dit verschil is handig, maar kies nog steeds grenzen die duidelijk maken wat je bedoelt.

Wat drukt dit programma af?

text = "notebook"
print(text[4:])

Splits een cursustitel

De beginstring is:

Python Fundamentals

Gebruik twee slices:

  • wijs Python toe aan language;

  • wijs Fundamentals toe aan level.

Typ die kant-en-klare strings niet als letterlijke antwoorden. Haal ze met slicenotatie uit course.

De uitvoer moet zijn:

Language: Python
Level: Fundamentals

Opdracht

Neem slices van de bestaande string course, zodat language de waarde Python krijgt en level de waarde Fundamentals.

Zorg voor deze uitvoer:

Language: Python
Level: Fundamentals