הפרק הקודם:
פייתון 4 - קלט ופלטמה נלמד
- רשימות
רשימות
מערך או רשימה זהו אוסף של ערכים - 0 ערכים או יותר.
עד כה אם רצינו לאתחל 3 ערכים היינו עושים את זה כך:
1 | a = "Hello" |
a
,b
,c
הם 3 משתנים שונים שמגדירים את הערכים.
ניתן להגדיר אותם עם משתנה אחד בלבד:
1 | # Full name: Array |
- יצירת רשימה חדשה נעשת בעזרת הסוגריים המרובעות
[]
. - ערכים נוספים כותבים בעזרת פסיק
,
. - הערכים מסודרים ע”פ סדר הופעתם משמאל לימין.
למשל[1,2,3]
.
- שימו לב: בתכנות קוראים להם “מערכים” אך בפייתון נהוג לקרוא להם “רשימות”.
האיבר הראשון הוא 0
עכשיו מגיע הקונספט הקשה להבנה בהתחלה: האיבר הראשון מתחיל במספר 0
ולא 1
.
האיבר הראשון הוא 0
, לא 1
.
יש לנו 4 איברים ברשימה, כאשר הראשון הוא 0
, השני הוא 1
, שלישי 2
, והאחרון 3
.
באופן פשוט אפשר לחשוב על זה ככה, הסוגריים המרובעים “קופצים” לאיבר כמו פעולת חיבור על הרשימה.
האיבר הראשון = arr + 0
האיבר השני = arr + 1
האיבר השלישי = arr + 2
האיבר הרביעי = arr + 3
הגישה לרשימה מתבצעת בעזרת סוגריים מרובעות
משתמשים בסוגריים המרובעות על מנת לגשת לאיבר ברשימה - המספר בסוגריים נקרא אינדקס
.
ניתן לרשום את המספר הזה כשלילי על מנת להתחיל את החישוב מהסוף ולא מההתחלה
לפני שתריצו את הקוד הבא תנסו לנחש מה הוא מדפיס,
אם ניחשתם הכל נכון - סימן שהבנתם את זה!
1 | arr = [1,2,3,4,5] |
מה קורה בסיטואציה הבאה?
1 | arr = [1,2,3,4] |
יש לנו ברשימה 3
איברים בלבד ואנחנו מנסים לגשת לאיבר שלא קיים,
במצב כזה הקוד ייזרוק לנו הערה - האינדקס שלנו לא נמצא בגבולות ברשימה, כי הגבולות הן מ0
עד 3
.
תרגיל
- אתחלו רשימה עם 3 מספרים וסכמו אותם.
- אתחלו מערך עם 2 מחרוזות - אחת השם הפרטי שלכם והשני שם המשפחה שלכם, והדפיסו.
- מציאת מידע לבד:
מצאו כיצד למצוא את גודל רשימה.
אתחלו את הרשימה שלכם עם מס’ משתנים והדפיסו למסך את גודלו
1 | arr = [1,2,3] |
להוסיף ולהוריד ערכים
אפשר לשנות משתנים רגילים, אם אתחלנו מספר כלשהו ל-5
, בהמשך אנחנו יכולים לשנות אותו ל-6
.
כך גם למערכים אפשר לשנות את האיברים שהם מכילים.
דוגמא:
1 | arr = [1,2,3] |
נניח אנחנו רוצים להוסיף עוד מספר, כיצד אנחנו עושים את זה?
בעזרת הפעולה insert
או append
.insert
- מוסיף ערך כלשהו באינדקס מסוים.append
- מוסיף את הערך בסוף הרשימה.
דוגמא:
1 | arr = [9,8,7] |
התמונה הזו ממחישה את מה שבעצם מתבצע
אפשר להבין את insert
בכך שהוא כמו ישראלי טוב דוחף בתור למקום מסוים, במקרה שלנו למקום ה2
.
זוכרים שאינדקס 2
זהו בעצם האלמנט השלישי? אם לא תעברו שוב לאחור ותקראו מחדש.
על מנת להוריד איברים מהמרשימה אנחנו יכולים להשתמש בpop
או ב-remove
pop
- מוריד ערך באינדקס מסוים.remove
- מוריד מהרשימה ערך מסוים.
1 | arr = [9,8,7] |
הpop
הוריד לנו את האיבר במקום השני - שזהו האלמנט השלישי ברשימה, ערכו הוא 7.
ה-remove
הוריד את הערך הראשון שהוא מצא 8.
1 | arr = [9,8,7] |
נסו זאת בעצמכם, קודם כל תנסו להבין מה קורה בקוד ובמידה ולא הצלחתם נסו להריץ אותו ולראות את ערכי הרשימה!
1 | arr = [9,8,8] |
if in
במידה ואנחנו רוצים לבדוק אם יש ערך ברשימה, פייתון מאפשר לנו את זה בקלות רבה:
1 | arr = [1,2,3] |
מה יודפס כאן?
מחרוזת היא רשימה של תווים
מחרוזת מורכבת מכמה תווים ולכן מייצגים אותה כרשימה של תווים!
בפייתון רשימה ומחרוזת הם משתנים מסוג שונה.
אך יש למחרוזות התנהגות דומה לרשימות.
גישה עם If-In
1 | mySentence = 'Hello world, my name is iluga' |
זוהי דוגמא לפשטות של פייתון בלעשות דברים יחסית מורכבים, וכך אנחנו יודעים לבדוק אם ערך נמצא כלשהו ברשימה או אם יש תת מחרוזת במחרוזת אחרת.
אינדקס
1 | name = 'Ilya' |
האם זה ייעבוד?
1 | name = 'Elza' |
מחרוזת היא אמנם מתנהגת דומה לרשימה אך היא לא רשימה!
למשל אופרטור האינדקס [num]
לא יכול לקבל ערך חדש.
תרגיל
מהו אינדקס?
א. מספר המייצג מיקום ברשימה.
ב. מספר המייצג ערך ברשימה.
ג. מספר המייצג את גודל הרשימה.השלימו את הקוד כך שיודפס “Horray”.
1 | finalAnswer = 6 |
- השלימו את הקוד כך שיודפס “Horray”.
1 | arr = [1] |
התשובה היא א, אינדקס מייצג את מיקום האיבר ברשימה.
1 | finalAnswer = 6 |
1 | arr = [1] |
בפרק הזה למדנו על רשימות והיכולת שלהם לקבל מס’ רב של ערכים.
הפרק הבא מרחיב לנו את הידע על Control Flow
עם לולאות!