הפרק הקודם:
פייתון 4 - קלט ופלטמערך או רשימה זהו אוסף של ערכים - 0 ערכים או יותר.
עד כה אם רצינו לאתחל 3 ערכים היינו עושים את זה כך:
1 | a = "Hello" |
a
,b
,c
הם 3 משתנים שונים שמגדירים את הערכים.
ניתן להגדיר אותם עם משתנה אחד בלבד:
1 | # Full name: Array |
[]
. ,
. [1,2,3]
.עכשיו מגיע הקונספט הקשה להבנה בהתחלה: האיבר הראשון מתחיל במספר 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
.
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] |
במידה ואנחנו רוצים לבדוק אם יש ערך ברשימה, פייתון מאפשר לנו את זה בקלות רבה:
1 | arr = [1,2,3] |
מה יודפס כאן?
מחרוזת מורכבת מכמה תווים ולכן מייצגים אותה כרשימה של תווים!
בפייתון רשימה ומחרוזת הם משתנים מסוג שונה.
אך יש למחרוזות התנהגות דומה לרשימות.
1 | mySentence = 'Hello world, my name is iluga' |
זוהי דוגמא לפשטות של פייתון בלעשות דברים יחסית מורכבים, וכך אנחנו יודעים לבדוק אם ערך נמצא כלשהו ברשימה או אם יש תת מחרוזת במחרוזת אחרת.
1 | name = 'Ilya' |
האם זה ייעבוד?
1 | name = 'Elza' |
מחרוזת היא אמנם מתנהגת דומה לרשימה אך היא לא רשימה!
למשל אופרטור האינדקס [num]
לא יכול לקבל ערך חדש.
מהו אינדקס?
א. מספר המייצג מיקום ברשימה.
ב. מספר המייצג ערך ברשימה.
ג. מספר המייצג את גודל הרשימה.
השלימו את הקוד כך שיודפס “Horray”.
1 | finalAnswer = 6 |
1 | arr = [1] |
התשובה היא א, אינדקס מייצג את מיקום האיבר ברשימה.
1 | finalAnswer = 6 |
1 | arr = [1] |
בפרק הזה למדנו על רשימות והיכולת שלהם לקבל מס’ רב של ערכים.
הפרק הבא מרחיב לנו את הידע על Control Flow
עם לולאות!