אם השתמשת במערכים בשפות תכנות אחרות, אתה יכול למצוא משהו דומה בצורת רשימות בפייתון. ההבדל היחיד הוא שרשימות Python מגיעות עם יתרון נוסף - גודל דינמי. כמו מערכים, תוכלו להשתמש בהם לאחסון של יותר מפריט אחד.
מדוע נדרש לולאה?
תוך כדי עבודה עם רשימות, יהיו זמנים שבהם תצטרך לבצע את אותה הפעולה כנגד כל ערך ברשימה.
לדוגמה, ייתכן שתרצה לקחת את הממוצע של כל הרשומות ברשימה. בנימה דומה, מה אם שמרתם בלוגים ברשימה ותרצו להביא את הכותרת שלהם?
לכל התרחישים הללו יש את אותה הבעיה: הם כוללים חזרה. כדי לטפל בחששות אלה, אתה יכול פשוט להשתמש בלולאות עם רשימות ב- Python.
בואו נראה כיצד לולאות מקלות על ביצוע פעולות כנגד מספר פריטים ברשימה עם דוגמה.
הבנת לולאות עם רשימות באמצעות דוגמא
נניח שתרצה להדפיס רשימה של שחייני השנה האמריקאיים בין השנים 2016 עד 2019 (אף אחד לא הוענק בשנת 2020 בגלל COVID-19). ללא לולאות, יהיה עליך לאחזר כל שם אחד אחד מהרשימה. עם זאת, ישנן שתי סוגיות עיקריות בשיטה זו:
- הדפסת כל שם היא חזרתית וגוזלת זמן כשאתה עובד עם רשימה ארוכה.
- שינוי הקוד עבור כל מופע דורש מאמץ ניכר.
קָשׁוּר: כיצד להשתמש בזמן לולאה בפייתון
למרבה המזל, לולאת for יכולה לטפל בשני הנושאים הללו ביעילות. שקול את הקוד הבא:
שחיינים = ['פלפס', 'לבוש', 'קאליש', 'לבוש']
ל שַׂחיָן ב שחיינים:
הדפס (שחיין)
בואו ננתח את הקוד הזה בשלושה שלבים:
- אתה מגדיר רשימה שחיינים ולאחסן בו את שמות הזוכים.
- אתה מגדיר לולאה עבור, שולף שם מהרשימה שחיינים בזה אחר זה והקצה אותו למשתנה שַׂחיָן.
- אתה מבקש מפייתון להדפיס שם שמוקצה לו שַׂחיָן באותו איטרציה ספציפית.
כעת, פייתון ממשיך לחזור על ה- 2נד ו -3מחקר ופיתוח צעדים להדפסת כל השחיינים ברשימה שלך. לנוחיותך, אתה יכול לקרוא את זה כך: "לכל שחיין ברשימת השחיינים שלי, הציג את שם השחיין." הנה הפלט:
מבט קצר על לולאות
נושא הלולאה הוא קריטי מכיוון שהוא אחד מגישות הליבה לאוטומציה של משימות חוזרות. למשל, שלנו swimmers.py קובץ, פייתון מעבד את השורה הראשונה של הלולאה:
ל שַׂחיָן ב שחיינים:
הנה, אתה אומר לפייתון להביא את הערך הראשון מהרשימה שלך, שחיינים. לאחר מכן, הוא מקצה אותו למשתנה שהגדרת שַׂחיָן. מכיוון שהערך הראשון הוא 'פלפס', ההצהרה הבאה חלה עליו:
הדפס (שחיין)
חשוב להבין שפייתון מדפיס את הערך העדכני ביותר של שַׂחיָן בשלב זה, שבמקרה הוא 'פלפס'. מכיוון שהרשימה מורכבת מערכים מרובים, פייתון חוזר לשורה הראשונה של הלולאה:
ל שַׂחיָן ב שחיינים:
הפעם, Python יביא את השם הבא מהרשימה שלך, 'dressel' ויקצה אותו למשתנה שַׂחיָן. שוב, פייתון יבצע את פיסת הקוד הבאה:
הדפס (שחיין)
כעת, Python מדפיס את הערך העדכני ביותר של שַׂחיָן, שבמקרה הוא 'לבוש'. באופן דומה, פייתון יחזור על הלולאה וידפיס 'קאליש' ו'מלביש '.
לאחר הדפסת הערך האחרון, פייתון עובר שוב לשורת הלולאה, ומכיוון שאין כניסה נוספת, הוא יעבור לשורה הבאה. בתוכנית זו אין שום דבר אחרי לולאת ה- for ולכן היא מסתיימת.
כאשר אתה ממשיך לגלוש ברשימות, זכור כי לא משנה מה השלב שתגדיר בקוד שלך, הוא יחזור על עצמו פעם אחת עבור כל ערך ברשימה, ללא קשר לאורכה של הרשימה. זה אומר שגם אם תוסיף מיליארד ערכים לרשימה שלך, Python יבצע את הפעולה שהוגדרת מיליארד פעמים.
דבר נוסף שיש לציין הוא שכאשר אתה מגדיר את לולאות שלך, אתה יכול לבחור כל שם עבור המשתנה הזמני המוקצה לכל ערך ברשימה. עם זאת, מומלץ לבחור שם שמתאים להקשר שלך כדי לקריאת קוד טובה יותר.
לדוגמא, הנה גישה יעילה לגלוש רשימה של מוצרים, ציפורים ושחקנים:
למוצר במוצרים:
לציפור בציפורים:
לשחקן בשחקנים:
כעת, לאחר שקיבלתם בסיס בסיסי של לולאה, אתם מבצעים מניפולציה על כל פריט ברשימה שלכם. אם נחזור לדוגמת השחיין, תוכל לתת מחמאות לכל שחיין על כישוריו על ידי כתיבת הקוד הבא:
שחיינים = ['phelps', 'dressel', 'kalisz', 'dressel']
לשחיין בשחיינים:
הדפס (f "{swimmer.title ()}, כישורי השחייה שלך נהדרים!")
קוד זה עובד בדיוק כמו הקודם; ההבדל היחיד הוא שאתה יוצר הודעה לכל שחיין על ידי קריאת שמותיהם. כמו בעבר, הלולאה מפעילה שוב כל שחיין ומדפיסה הצהרה לכל אחד מהם. כצפוי, הפלט שנוצר מוצג להלן:
ניתן גם לכתוב הצהרות מרובות בלולאת ה- for. יש לזכור כי הלולאה מקיפה כל קו שקוע בהמשך שחיין בשחיינים, ו- Python מבצע כל שורה פעם אחת עבור כל ערך רשימה. לפיכך, יש אינסוף אפשרויות לכל הערכים ברשימה.
למשל, אתה יכול לכתוב הצהרת הדפסה נוספת בדוגמה שלעיל.
שחיינים = ['phelps', 'dressel', 'kalisz', 'dressel']
לשחיין בשחיינים:
הדפס (f "{swimmer.title ()}, כישורי השחייה שלך נהדרים!")
הדפס (f "מצפה לראות אתכם בתחרות הבאה, {swimmer.title ()}.
")
מכיוון שהשתמשת בכניסה לשתי ההצהרות, Python מבצע כל אחת מהן עבור כל ערך ברשימה.
לאחר השלמת הלולאה, תוכל לסכם את התפוקה שלך ואז לעבור לחלקים אחרים בתוכנית שלך. חלק זה שלאחר לולאה לא אמור להזיע את הכניסה, ולכן הוא לא חוזר על עצמו.
עכשיו אתה יכול לעבור ברשימות בקלות
במאמר זה למדת מדוע יש צורך בלולאות, כיצד להשתמש בלולאות עם רשימות וכיצד פיתון מעבד ערכים ברשימה כאשר הוא מוטה בלולאה. כעת תוכל להשתמש ברשימות ולולאות כדי לכתוב קוד מורכב יותר וליצור תוכניות באיכות גבוהה יותר.
כדי לבדוק את הידע שלך, הנה תרגיל פשוט: צור רשימה של 10 מספרים והדפס רק מספרים הניתנים לחלוקה בחמישה.
עובדים עם רשימות בפייתון? הנה מה שאתה צריך לדעת על השימוש בפונקציה Python append בעבודה עם רשימות.
קרא הבא
- תִכנוּת
- פִּיתוֹן
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
צעד אחד נוסף !!!
אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.