חיתוך רשימות — חלק 2
חלק מהיחידה יסודות במסלול ה-Python של Coddy. שיעור 65 מתוך 77.
לחיתוך יש פרמטר צעד נוסף: lst[start:stop:step], לדוגמה, חשבו על הרשימה הזו:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]מקבל כל איבר שני מאינדקס 1 עד 8:
print(numbers[1:8:2])
# פלט: [1, 3, 5, 7]מקבלת כל איבר שלישי החל ממקום 2:
print(numbers[2::3])
# פלט: [2, 5, 8]חיתוך תומך גם באינדקסים שליליים.
ספירה מהסוף:
print(numbers[-3:])
# פלט: [7, 8, 9]כאן, -3 פירושו "להתחיל 3 מיקומים מהסוף"
ספור עד הסוף:
print(numbers[:-2])
# פלט: [0, 1, 2, 3, 4, 5, 6, 7]כאן, -2 פירושו „עצור 2 מיקומים לפני הסוף” (לא כולל)
היפוך באמצעות צעד שלילי:
print(numbers[::-1])
# פלט: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]- רווח ריק לפני
:הראשון פירושו "התחל מההתחלה" - רווח ריק בין
:פירושו "המשך עד הסוף" - -1 פירושו "התקדם אחורה צעד אחד בכל פעם"
אתגר
קלצרו תוכנית שמקבלת רשימה כקלט (נתונה) ומדפיסה שלוש רשימות חדשות בהתבסס על פעולות החיתוך הבאות:
- רשימה המכילה כל איבר שלישי, החל מאינדקס 1 (האיבר השני)
- רשימה המכילה את כל האיברים מהאיבר השישי ועד לראשון בסדר הפוך
- רשימה המכילה כל איבר שני, החל מאמצע הרשימה ועד סופה
נסו בעצמכם
lst = input().split(",")
# כתבו את הקוד שלכם למטההשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: קומפיילר Python אונליין