שיעורי מודול (2/4)
חיתוך ואינדקס
ב-Python, מחרוזות הן רצפים של תווים: אתה יכול לגשת
תווים בודדים לפי אינדקס וחתוך מחרוזות משנה עם הפרוסה
תחביר [start:stop:step] - בדיוק כמו ברשימות.
מדדים חיוביים ושליליים
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)גישה מחוץ לטווח מעלה IndexError.
חיתוך [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 2בניגוד לאינדקס, החתך לא מעלה שגיאות אם המדדים בחוץ של טווח: הוא מגלף מה שהוא יכול.
הטיעון השלישי: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] היא הדרך האידיומטית להפוך מחרוזת.
אורך והכלה
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # Falseמדדים שליליים ושלב בחיתוך
התחביר המלא של החיתוך הוא s[start:stop:step]. אם תשמיט את start ואת stop אבל תגדיר step שלילי של -1 (s[::-1]), תהפוך את המחרוזת. האינדקס השלילי -1 מייצג תמיד את התו האחרון של המחרוזת, -2 הוא השני אחרון וכו'.
נסה את זה
בהינתן `word = 'PROGRAMMAZIONE'`, השג את היפוך שלה ב-`reversed_word`. הערך את 'מילה_הפוכה'.
הצג רמז
מילה[::-1]
הפתרון זמין לאחר 3 ניסיונות
סקירת התרגיל
בהינתן `email = 'ada@example.com'`, חלץ את הדומיין (כל מה שאחרי '@') לתוך `domain` באמצעות חיתוך לאחר מציאת האינדקס עם .find. הערכת 'דומיין'.
הצג רמז
email[email.find('@') + 1:]
הפתרון זמין לאחר 3 ניסיונות
אתגר נוסף
בהינתן המחרוזת \`word = "pythonista"\`, השתמש ב-slicing כדי לחלץ את 3 התווים הראשונים ואת 3 התווים האחרונים, ושרשר אותם למחרוזת חדשה \`short_word\`. לבסוף, הערך את \`מילה_קצרה\` (היא אמורה להניב \`'pytsta'\`).
הצג רמז
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
הפתרון זמין לאחר 3 ניסיונות