הלולאה for בפייתון היא פונקציה להתמרת. אם יש לך אובייקט מחרוזת כמו רשימה, תוכל להשתמש בלולאת for כדי לעבור על הפריטים המכילים בתוך הרשימה.
פונקציונליות של לולאת for אינה מאוד שונה ממה שאתה רואה בשפות תכנות רבות אחרות.
במאמר זה, נבדוק בעיות את לולאת ה for בפייתון בפרט ונלמד לעבור על רצפים שונים כולל רשימות, טאפלים ועוד. בנוסף, נלמד לשלוט בזרימת הלולאה באמצעות ההצהרות break ו-continue.
מתי להשתמש בלולאת for
בכל פעם שיש לך צורך לחזור על בלוק של קוד מספר קבוע של פעמים. אם אין לך את מספר הפעמים שעליו להיחזור, השתמש בהצהרת "לולאת while".
תחביר לולאת for בפייתון
התחביר הבסיסי של לולאת for בפייתון נראה משהו דומה לזה שהוזכר למטה.
תחביר של לולאת for ב-Python בפרטיות
- המילה הראשונה של ההצהרה מתחילה עם המילת מפתח "for" שמסמנת את תחילת הלולאה for.
- אז יש לנו את משתנה האיטרציה שעובר על הסדרה וניתן להשתמש בו בתוך הלולאה כדי לבצע פונקציות שונות
- הבא הוא מילת המפתח "in" ב-Python שמספרת למשתנה האיטרציה לעשות לולאה עבור איברים בתוך הסדרה
- וסופית, יש לנו את משתנה הסדרה שיכול להיות או רשימה, או טופל, או כל סוג אחר של איטרטור.
- ההצהרות של חלק הלולאה הן המקום בו ניתן לשחק עם המשתנה האיטרציה ולבצע פונקציות שונות
הדפסת אותיות יחידות של מחרוזת באמצעות הלולאה for
מחרוזת ב-Python היא סדרה של תווים. אם בתוך אחד מיישומי התכנות שלך, אתה צריך לעבור על התווים של מחרוזת בנפרד, תוכל להשתמש בלולאת for כאן.
הנה כיצד זה יעבוד בשבילך.
פלט:
הסיבה שבה הלולאה הזו עובדת היא משום שפייתון מתייחסת ל"מחרוזת" כסדרה של תווים במקום להסתכל על המחרוזת ככולה.
בשימוש בלולאת for לעבור על רשימה או טופל בפייתון
רשימות ו־טייפלים הם אובייקטים ניתני דרישה. בואו נביט כיצד אפשר לעשות לולאה על האיברים בתוך אובייקטים אלו כעת.
פלט:
עכשיו, בואו נמשיך ונעבוד על לולאה מעל איברי טופל כאן.
הקניית תווי פייתון
כאשר יש לנו לולאה for בתוך לולאה אחרת for, זה נקרא לולאה מקוננת. ישנם שימושים מרובים של לולאה מקוננת.
שקול את הדוגמה למעלה. לולאת ה־for מדפיסה מילים יחידות מהרשימה. אך מה קורה אם נרצה להדפיס את התווים היחידים של כל אחת מהמילים בתוך הרשימה במקום זאת?
זה המקום שבו לולאה מקוננת עובדת יותר טוב. הלולאה הראשונה (האב) תעבור על המילים אחת אחת. הלולאה השנייה (הילד) תעבור על התווים של כל אחת מהמילים.
פלט
A nested loop is structurally similar to nested if
statements
לולאת for של פייתון עם פונקציית range()
טווח הפייתון הוא אחת מה־פונקציות המובנות. כאשר אתה רוצה שהלולאה תרוץ מספר ספציפי של פעמים, או שאתה צריך לציין טווח של אובייקטים להדפסה, פונקציית הטווח עובדת ממש טוב.
כאשר אתה עובד עם range()
, אתה יכול למסור בין 1 ל־3 ארגומנטים שלמים אליה:
start
מציין את הערך השלם ממנו מתחילה הרצף, אם זה אינו נכלל אזstart
מתחיל ב־0stop
נדרש תמיד והוא המספר השלם שסופרים עד אליו אך לא כולל אותושלב
מגדיר כמה להגדיל (או להפחית במקרה של מספרים שליליים) את האיטרציה הבאה, אם זה נושא בלתי מוגדר אזשלב
מוגדר בברירת מחדל ל- 1
שקול לדוגמה הבאה בה אני רוצה להדפיס את המספרים 1, 2 ו- 3:
הפונקציה range גם מקבלת פרמטר נוסף מלבד ההתחלה והסיום. זהו פרמטר השלב. זה אומר לפונקציה range כמה מספרים לדלג בין כל ספירה.
בדוגמה למטה, השתמשתי במספר 3 כפרמטר השלב וניתן לראות את המספרים בפלט הם המספר הקודם + 3.
אנו יכולים גם להשתמש בערך שלילי עבור הארגומנט שלב
שלנו כדי לערוך אחורה, אך נצטרך להתאים את הארגומנטים שלנו התחלה
ו סיום
בהתאם:
כאן, 100 הוא הערך התחלה
, 0 הוא הערך סיום
, ו- -10
הוא הטווח, לכן הלולאה מתחילה ב- 100 ונגמרת ב- 0, יורדת ב- 10 בכל איטרציה. זה קורה בפלט:
Output100
90
80
70
60
50
40
30
20
10
כאשר מתכנתים ב-Python, לולאות for
נהוגות להשתמש בסוג הרצף range()
כפרמטרים שלהן לצורך חזרה.
הצהרת ה-break עם לולאת for
ההצהרה break משמשת לצאת מהלולאה for מוקדם. היא משמשת לשבור את הלולאה for כאשר תנאי מסוים מתקיים.
נניח שיש לנו רשימת מספרים ואנו רוצים לבדוק אם מספר מסוים קיים או לא. אנו יכולים לעבור על רשימת המספרים ואם המספר נמצא, לשבור את הלולאה מכיוון שאין צורך להמשיך לעבור על האיברים הנותרים.
במקרה זה, נשתמש בתנאי if else של Python יחד עם הלולאה שלנו.
הצהרת ה-continue עם לולאת for
ניתן להשתמש בהצהרות continue בתוך לולאה for כדי לדלג על ביצוע גוף הלולאה for עבור תנאי מסוים.
בואו נניח שיש לנו רשימת מספרים ורוצים להדפיס את סכום המספרים החיוביים. נוכל להשתמש בהצהרת continue כדי לדלג על הלולאה for עבור המספרים השליליים.
לולאת for בפייתון עם בלוק else
נוכל להשתמש בבלוק else עם לולאת for בפייתון. הבלוק else מבוצע רק כאשר ה-לולאה for אינה מסתיימת באמצעות הצהרת break.
בואו נניח שיש לנו פונקציה להדפסת סכום המספרים אם ורק אם כל המספרים הם זוגיים.
נוכל להשתמש בהצהרת break כדי לסיים את הלולאה for אם מספר אי-זוגי קיים. נוכל להדפיס את סכום המספרים בחלק ה-else כך שהוא יודפס רק כאשר הלולאה for מבוצעת באופן רגיל.
לולאות for בשימוש בסוגי נתונים סדרתיים
רשימות וסוגי נתונים אחרים מסוג רצפים יכולים גם לשמש כפרמטרי חזרה בלולאות for
. במקום לעבור דרך range()
, ניתן להגדיר רשימה ולעבור דרך הרשימה הזו.
נשייך רשימה למשתנה, ואז נעבור דרך הרשימה:
במקרה זה, אנו מדפיסים כל פריט ברשימה. למרות שהשתמשנו במשתנה shark
, יכולנו לקרוא למשתנה כל שם משתנה חוקי אחר והיינו מקבלים את אותו פלט:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
הפלט לעיל מראה שהלולאת for
עברה דרך הרשימה, והדפיסה כל פריט מהרשימה בכל שורה.
רשימות וסוגי נתונים מבוססי רצפים אחרים כמו מחרוזות ו־טאפלים נפוצים לשימוש עם לולאות מאחר שהם ניתנים לאיטרציה. ניתן לשלב סוגי נתונים אלו עם range()
כדי להוסיף פריטים לרשימה, לדוגמה:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
כאן, הוספנו מחרוזת מקום כללית של 'shark'
לכל פריט באורך הרשימה sharks
.
ניתן גם להשתמש בלולאת for
כדי לבנות רשימה מאפס:
בדוגמה זו, הרשימה integers
מאותחלת כריקה, אך הלולאה for
ממלאה את הרשימה כך:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
באופן דומה, ניתן לעבור דרך מחרוזות:
OutputS
a
m
m
y
עוברים דרך tuples באותה הפורמט כמו בעת עבירה דרך רשימות או מחרוזות למעלה.
כאשר מתבצעת עבירה דרך מילון, חשוב לשמור על מבנה המפתח : ערך בזיכרון כדי לוודא שקוראים לאיבר הנכון של המילון. הנה דוגמה שקוראת גם למפתח וגם לערך:
Outputname: Sammy
animal: shark
location: ocean
color: blue
כאשר משתמשים במילונים עם for
לולאות, המשתנה שמעביר על הערכים נקודתי למפתחות של המילון, ו- dictionary_variable[iterating_variable]
מתאים לערכים. במקרה הנ״ל, המשתנה שמעביר על הערכים key
נעשה שימוש כדי לייצג את המפתח, ו- sammy_shark[key]
נעשה שימוש כדי לייצג את הערכים.
לולאות בדרך כלל משמשות לעבור ולשנות סוגי נתונים רצופים.
מסקנה
הלולאה for בפייתון דומה מאוד לשפות תכנות אחרות. ניתן להשתמש בהצהרות ה-break וה-continue עם לולאה for כדי לשנות את הביצוע. אולם, בפייתון, ניתן גם להשתמש בחסום else אופציונלי בלולאה for.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
מכאן, ניתן להמשיך ללמוד על לולאות על ידי קריאת מדריכים על לולאות while ו-הצהרות break, continue ו- pass.
כדי לעבוד עם לולאות for
בפרויקטים, עקוב אחר המדריכים הבאים:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3