נפתרה: סכום 2d מערך בפיתון

הבעיה העיקרית הקשורה לסיכום מערך 2D ב-Python היא שהתחביר לעשות זאת יכול להיות די מורכב וקשה להבנה. הסיבה לכך היא שישנן מספר דרכים לסכם מערך דו מימדי, בהתאם לצורת המערך ואיזה סוג סיכום רצוי. לדוגמה, אם ברצונך לסכם את כל הרכיבים במערך דו-ממדי, תצטרך להשתמש ב- Nested for לולאות. אם ברצונך לסכם רק אלמנטים מסוימים במערך דו-ממדי, תצטרך להשתמש בהבנת רשימות או בטכניקות מתקדמות אחרות. בנוסף, יכול להיות קשה לנפות שגיאות בעת עבודה עם מערכים דו-ממדיים מכיוון שהם מורכבים יותר ממערכים דו-ממדיים.

def sum_2d_array(arr): 
    result = 0
  
    # iterate through rows 
    for i in range(0, len(arr)): 
  
        # iterate through columns 
        for j in range(0, len(arr[i])): 
            result += arr[i][j] 

    return result

# קוד זה מגדיר פונקציה בשם sum_2d_array אשר לוקחת מערך כארגומנט.
# משתנה התוצאה מאותחל ל-0.
# לולאה for משמשת לחזרה דרך שורות המערך, ולולאה מקוננת משמשת לחזרה בין העמודות של כל שורה.
# עבור כל אלמנט במערך, הערך שלו מתווסף למשתנה התוצאה.
# לבסוף, הפונקציה מחזירה את הסכום הכולל של כל האלמנטים במערך.

מה זה מערך

?

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

מערך לעומת רשימה בפייתון

מערך ורשימה הם שניהם מבני נתונים ב- Python המשמשים לאחסון אוספי נתונים. מערך הוא מבנה נתונים המאחסן פריטים מאותו סוג, ואילו List הוא מבנה נתונים גמיש יותר שיכול לאחסן פריטים מסוגים שונים.

מערכים מהירים ויעילים יותר לאחסון וגישה לנתונים מאשר רשימות, אך הם מוגבלים בגמישותם מכיוון שכל האלמנטים חייבים להיות מאותו סוג. רשימות לעומת זאת, יכולות להכיל אלמנטים מסוגים שונים, אך הן תופסות יותר זיכרון והגישה אליהן אטית יותר מאשר מערכים.

איך לסכם מערך דו מימדי בפייתון

כדי לסכם מערך 2d ב-Python, אתה יכול להשתמש בפונקציה המובנית sum() . התחביר עבור זה הוא כדלקמן:

sum(מערך, ציר=ללא)

כאשר מערך הוא המערך הדו-ממדי שברצונך לסכם וציר הוא ארגומנט אופציונלי המציין איזה ציר של המערך צריך לסכם. אם לא ניתן ערך עבור ציר, אז כל הרכיבים של המערך יסוכמו.

לדוגמה, אם יש לנו מערך דו-ממדי בשם my_array עם 2 שורות ו-3 עמודות:

[[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]

אנו יכולים להשתמש בקוד הבא כדי לסכם את כל האלמנטים של my_array:

total = sum(my_array) #total = 78

או שנוכל להשתמש בקוד הבא כדי לסכם כל שורה של my_array:

row_sums = sum(my_array ,axis=1) #row_sums = [10 26 42]

הודעות קשורות:

השאירו תגובה