Lecții din modul (2/4)
Tăierea și indexarea
În Python, șirurile sunt secvențe de caractere: puteți accesa
caractere individuale după index și decupează subșiruri cu felia
sintaxă [start:stop:step] — exact ca în cazul listelor.
Indici pozitivi si negativi
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)Accesul în afara razei de acțiune ridică IndexError.
Tăierea [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 2Spre deosebire de indexare, slicing NU generează erori dacă indicii sunt în afara de gamă: scoate tot ce poate.
Al treilea 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] este modalitatea idiomatică de a inversa un șir.
Lungime și reținere
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # FalseIndici negativi și pas în feliere
Sintaxa completă a tăierii este s[start:stop:step]. Dacă omiteți start și stop, dar setați un step negativ din -1 (s[::-1]), inversați șirul. Indicele negativ -1 reprezintă întotdeauna ultimul caracter al șirului de caractere, -2 este penulul, etc.
Încearcă
Dat `cuvânt = 'PROGRAMMAZIONE'`, obțineți reversul în `cuvânt_inversat`. Evaluați `cuvânt_inversat`.
Afișează indiciu
cuvânt[::-1]
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Având în vedere `email = 'ada@example.com'`, extrageți domeniul (tot ce urmează după '@') în `domain` folosind slicing după ce găsiți indexul cu .find. Evaluați „domeniu”.
Afișează indiciu
e-mail[email.find('@') + 1:]
Soluție disponibilă după 3 încercări
Provocare suplimentară
Având în vedere șirul \`cuvânt = "pythonista"\`, utilizați slicing pentru a extrage primele 3 caractere și ultimele 3 caractere și concatenați-le într-un șir nou \`short_word\`. În cele din urmă, evaluați \`short_word\` (ar trebui să rezulte \`'pytsta'\`).
Afișează indiciu
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
Soluție disponibilă după 3 încercări