Modulelessen (2/4)
Snijden en indexeren
In Python zijn strings reeksen van tekens: waartoe u toegang hebt
individuele tekens per index en subtekenreeksen uitsnijden met het segment
syntaxis [start:stop:step] — precies zoals bij lijsten.
Positieve en negatieve indexen
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)Toegang buiten bereik verhoogt IndexError.
Snijden [start:stop:step]
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2In tegenstelling tot indexeren levert slicing GEEN fouten op als de indexen niet kloppen bereik: het haalt eruit wat het kan.
Het derde argument: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] is de idiomatische manier om een string om te keren.
Lengte en insluiting
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # FalseNegatieve indices en stap in het snijden
De volledige syntaxis van segmenteren is s[start:stop:step]. Als u start en stop weglaat maar een negatieve step van -1 (s[::-1]) instelt, keert u de tekenreeks om. De negatieve index -1 vertegenwoordigt altijd het laatste teken van de string, -2 is het op een na laatste teken, enz.
Probeer het
Gegeven `word = 'PROGRAMMAZIONE'`, verkrijg het omgekeerde in `reversed_word`. Evalueer `omgekeerd_woord`.
Toon hint
woord[::-1]
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Gegeven `email = 'ada@example.com'`, extraheer het domein (alles na '@') in `domain` met behulp van slicing nadat u de index hebt gevonden met .find. Evalueer 'domein'.
Toon hint
e-mail[e-mail.vind('@') + 1:]
Oplossing beschikbaar na 3 pogingen
Extra uitdaging
Gegeven de string \`word = "pythonista"\`, gebruik je slicing om de eerste 3 tekens en de laatste 3 tekens te extraheren, en voeg ze samen in een nieuwe string \`short_word\`. Evalueer ten slotte \`kort_woord\` (het zou \`'pytsta'\` moeten opleveren).
Toon hint
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
Oplossing beschikbaar na 3 pogingen