Menu
Coddy logo textTech

פונקציית המיפוי

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Python של Coddy. שיעור 72 מתוך 78.

הפונקציה map() מקבלת שני דברים עיקריים:

  1. פונקציה (שמכילה הוראות מה לעשות)
  2. רצף של פריטים (כמו רשימה או אוסף כלשהו של איברים)

לאחר מכן היא מחילה את הפונקציה על כל פריט ברצף שלך, אחד אחד, ומחזירה לך את כל התוצאות.

לדוגמה:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # זו רק רשימה של מספרים
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# פלט: [1, 4, 9, 16, 25]

מה קרה כאן:

  • יש לנו רשימה של מספרים: [1, 2, 3, 4, 5]
  • הפונקציה map() מקבלת כל מספר, אחד בכל פעם
  • היא מעבירה כל מספר דרך הפונקציה square שלנו
  • היא אוספת את כל התוצאות לפי הסדר

אפשר לחשוב על זה כמו על פס ייצור:

  1. המספר 1 נכנס → פונקציית הריבוע הופכת אותו ל־1
  2. המספר 2 נכנס → פונקציית הריבוע הופכת אותו ל־4
  3. המספר 3 נכנס → פונקציית הריבוע הופכת אותו ל־9 וכן הלאה...

אפשר גם להשתמש בפונקציית lambda במקום להגדיר פונקציה נפרדת:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# פלט: [1, 4, 9, 16, 25]

הפונקציה map() פועלת עם כל אוסף של פריטים — לא רק מספרים. אלה יכולות להיות מחרוזות או כל סוג אחר של נתונים שתרצו לעבד באותה הדרך.

challenge icon

אתגר

קל

צרו פונקציה בשם convert_to_uppercase שמקבלת רשימה של מחרוזות strings כארגומנט. הפונקציה צריכה להשתמש בפונקציה map() יחד עם פונקציית lambda כדי להמיר כל מחרוזת ברשימה לאותיות גדולות. הפונקציה צריכה להחזיר רשימה שמכילה את המחרוזות באותיות גדולות.

נסו בעצמכם

def convert_to_uppercase(strings):
    # השתמשו ב-map() עם פונקציית lambda כדי להמיר מחרוזות לאותיות רישיות
    # החליפו את הרשימה הריקה שלהלן בביטוי הזה
    uppercase_strings = []
    
    # החזירו את רשימת המחרוזות באותיות רישיות
    return list(uppercase_strings)
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Python אונליין