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

היי,
מישהו מכיר דרך אלגנטית להריץ מספר פונקציות בלולאה, ויש חשיבות לסדר הרצת הפונקציות

לדוגמה אני צריך קודם לחשב סכום, ממוצע ובסוף חציון.

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

לייק 1

ניסיתי ולא עבד עם לולאת for, עם לולאת while עכשיו גיליתי שזה עובד.

שכחתי מ-map הרבה יותר מסודר, תודה רבה!

לייק 1

מעניין, אמור לעבוד גם ב¯for