דילוג לתוכן המרכזי
מודול 4 · שיעור 2 מתוך 414/36 בקורס~10 min
שיעורי מודול (2/4)

חיתוך ואינדקס

ב-Python, מחרוזות הן רצפים של תווים: אתה יכול לגשת תווים בודדים לפי אינדקס וחתוך מחרוזות משנה עם הפרוסה תחביר [start:stop:step] - בדיוק כמו ברשימות.

מדדים חיוביים ושליליים

Python
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]

Python
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

Python
s = "Python"
s[::2]    # 'Pto'    salta uno sì uno no
s[1::2]   # 'yhn'    dispari
s[::-1]   # 'nohtyP' INVERSIONE (idiom famoso)

s[::-1] היא הדרך האידיומטית להפוך מחרוזת.

אורך והכלה

Python
len("Python")        # 6
"th" in "Python"     # True
"java" in "Python"   # False

מדדים שליליים ושלב בחיתוך

התחביר המלא של החיתוך הוא s[start:stop:step]. אם תשמיט את start ואת stop אבל תגדיר step שלילי של -1 (s[::-1]), תהפוך את המחרוזת. האינדקס השלילי -1 מייצג תמיד את התו האחרון של המחרוזת, -2 הוא השני אחרון וכו'.

נסה את זה

פעילות גופנית#python.m4.l2.e1
ניסיונות: 0טוען...

בהינתן `word = 'PROGRAMMAZIONE'`, השג את היפוך שלה ב-`reversed_word`. הערך את 'מילה_הפוכה'.

טוען עורך...
הצג רמז

מילה[::-1]

הפתרון זמין לאחר 3 ניסיונות

סקירת התרגיל

פעילות גופנית#python.m4.l2.e2
ניסיונות: 0טוען...

בהינתן `email = 'ada@example.com'`, חלץ את הדומיין (כל מה שאחרי '@') לתוך `domain` באמצעות חיתוך לאחר מציאת האינדקס עם .find. הערכת 'דומיין'.

טוען עורך...
הצג רמז

email[email.find('@') + 1:]

הפתרון זמין לאחר 3 ניסיונות

אתגר נוסף

פעילות גופנית#python.m4.l2.e3
ניסיונות: 0טוען...

בהינתן המחרוזת \`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 ניסיונות