Menu
Coddy logo textTech

שימוש באגרגציית נתונים

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

הבנות רשימה מספקות דרך תמציתית ליצור רשימות חדשות על סמך איטרטורים קיימים. אפשר לשלב פונקציות צבירת נתונים כמו sum(), min() ו־max() ישירות בתוך הבנות רשימה כדי לבצע חישובים על איברי הרשימה החדשה בזמן יצירתה.

חישוב סכום הריבועים:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
print(sum_of_squares)
# פלט: 55

בדוגמה הזו, יצירת הרשימה [n * n for n in numbers] יוצרת רשימה של ריבועים, והפונקציה sum() מחשבת את סכום הריבועים האלה.

מציאת הערך המינימלי מבין ערכים שעברו טרנספורמציה:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
print(min_absolute)
# פלט: 0

כאן, הבנת הרשימה [abs(n) for n in numbers] יוצרת רשימה של ערכים מוחלטים, והפונקציה min() מוצאת את הערך המינימלי ברשימה הזו.

מציאת הערך המרבי מבין הערכים המסוננים:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
print(max_even)
# פלט: 6

בדוגמה זו, יצירת הרשימה באמצעות הבנת רשימה [n for n in numbers if n % 2 == 0] יוצרת רשימה של מספרים זוגיים, והפונקציה max() מוצאת את הערך המרבי ברשימה זו.

challenge icon

אתגר

קל

כתבו פונקציה sum_positive_evens שמקבלת רשימת מספרים כקלט. השתמשו בהבנת רשימה כדי לסנן מספרים זוגיים חיוביים, ואז השתמשו ב־sum() כדי לחשב את הסכום שלהם. החזירו את התוצאה.

קלט לדוגמה:

numbers = [-10, -5, 0, 2, 4, 7, 10, 12]

פלט לדוגמה:

28

נסו בעצמכם

def sum_positive_evens(numbers):
    # כתבו כאן קוד
quiz iconבחנו את עצמכם

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

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

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