היי,
מישהו מכיר דרך אלגנטית להריץ מספר פונקציות בלולאה, ויש חשיבות לסדר הרצת הפונקציות
לדוגמה אני צריך קודם לחשב סכום, ממוצע ובסוף חציון.
lis = [sum, average, median]
cal = [2,2]
for i in lis:
print i(cal)
במקום להשתמש בסטרינג ו-if לכל פונקציה
היי,
מישהו מכיר דרך אלגנטית להריץ מספר פונקציות בלולאה, ויש חשיבות לסדר הרצת הפונקציות
לדוגמה אני צריך קודם לחשב סכום, ממוצע ובסוף חציון.
lis = [sum, average, median]
cal = [2,2]
for i in lis:
print i(cal)
במקום להשתמש בסטרינג ו-if לכל פונקציה
Median(evr(sum(2,2))) w
מה שעשית הוא אחלה. ניסית וזה לא עובד?
בלי קשר, עוד אופציות לשימוש יותר מתקדם זה להשתמש ב¯map על הפונקציות (מחזיר iterator)
ואם אתה מנסה לתת לפונקציה פרמטרים (ולא להעביר כפרמטר אחד) בתוך הסוגריים אתה צריך לעשות unpacking
for func in funcs:
print(func(*args))
אפשר גם להשתמש ב¯itertools.starmap
ניסיתי ולא עבד עם לולאת for, עם לולאת while עכשיו גיליתי שזה עובד.
שכחתי מ-map הרבה יותר מסודר, תודה רבה!
מעניין, אמור לעבוד גם ב¯for