تم الحل: مجموع مصفوفة ثنائية الأبعاد في بايثون

المشكلة الرئيسية المتعلقة بجمع مصفوفة ثنائية الأبعاد في Python هي أن بناء الجملة للقيام بذلك يمكن أن يكون معقدًا للغاية ويصعب فهمه. هذا بسبب وجود طرق متعددة لتجميع مصفوفة ثنائية الأبعاد ، اعتمادًا على شكل المصفوفة ونوع التجميع المطلوب. على سبيل المثال ، إذا كنت تريد جمع كل العناصر في مصفوفة ثنائية الأبعاد ، فستحتاج إلى استخدام حلقات for المتداخلة. إذا كنت ترغب في جمع عناصر معينة فقط في مصفوفة ثنائية الأبعاد ، فستحتاج إلى استخدام list comprehensions أو تقنيات أخرى أكثر تقدمًا. بالإضافة إلى ذلك ، قد يكون من الصعب تصحيح الأخطاء عند العمل مع المصفوفات ثنائية الأبعاد لأنها أكثر تعقيدًا من المصفوفات أحادية الأبعاد.

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.
# A for loop تُستخدم للتكرار خلال صفوف المصفوفة ، وتستخدم حلقة for متداخلة للتكرار خلال أعمدة كل صف.
# لكل عنصر في المصفوفة ، تضاف قيمته إلى المتغير الناتج.
# أخيرًا ، ترجع الدالة المجموع الكلي لجميع العناصر في المصفوفة.

ما هي المصفوفة

?

المصفوفة في Python هي بنية بيانات تخزن مجموعة من العناصر. إنها تشبه القائمة ، لكن العناصر المخزنة في المصفوفة تكون عادةً من نفس النوع ويتم الوصول إليها باستخدام مؤشرات رقمية. يمكن استخدام المصفوفات لتخزين الأرقام والسلاسل والكائنات وأنواع البيانات الأخرى. كما أنها مفيدة لإجراء عمليات حسابية على مجموعات كبيرة من البيانات.

Array vs List في بايثون

يعتبر كل من Array و List بنية بيانات في Python يتم استخدامها لتخزين مجموعات البيانات. المصفوفة هي بنية بيانات تخزن عناصر من نفس النوع ، بينما القائمة هي بنية بيانات أكثر مرونة يمكنها تخزين عناصر من أنواع مختلفة.

تعتبر المصفوفات أسرع وأكثر كفاءة في تخزين البيانات والوصول إليها من القوائم ، لكنها محدودة في مرونتها لأن جميع العناصر يجب أن تكون من نفس النوع. من ناحية أخرى ، يمكن أن تحتوي القوائم على عناصر من أنواع مختلفة ، لكنها تشغل ذاكرة أكبر ويكون الوصول إليها أبطأ من المصفوفات.

كيفية جمع مصفوفة ثنائية الأبعاد في بايثون

لتجميع مصفوفة ثنائية الأبعاد في بايثون ، يمكنك استخدام دالة sum () المضمنة. بناء الجملة لهذا هو كما يلي:

مجموع (صفيف ، محور = لا شيء)

حيث المصفوفة هي المصفوفة ثنائية الأبعاد التي تريد جمعها والمحور عبارة عن وسيطة اختيارية تحدد محور المصفوفة الذي يجب جمعه. إذا لم يتم إعطاء قيمة للمحور ، فسيتم جمع كل عناصر المصفوفة.

على سبيل المثال ، إذا كان لدينا صفيف ثنائي الأبعاد يسمى my_array مع 2 صفوف و 3 أعمدة:

[[1,2,3,4،XNUMX،XNUMX،XNUMX] ،
[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]

الوظائف ذات الصلة:

اترك تعليق