حساب مجموع الأرقام في القوائم باستخدام دالة sum() في Python

في لغة البرمجة Python، تعد القوائم (Lists) واحدة من أكثر الهياكل البيانية استخدامًا. وغالبًا ما نحتاج إلى حساب مجموع الأرقام الموجودة في هذه القوائم. لحسن الحظ، توفر Python دالة مدمجة تُسمى sum()، التي تُسهل عملية جمع الأرقام في القوائم بشكل سريع وفعال.

ما هي دالة sum() في Python؟

تُستخدم دالة sum() لحساب مجموع الأرقام في قائمة أو سلسلة من الأرقام. هذه الدالة تعمل بشكل مثالي مع الأنواع العددية مثل الأعداد الصحيحة (integers) أو الأعداد العشرية (floats). يمكن أيضًا تخصيص بدء الجمع من قيمة معينة باستخدام معامل إضافي.

كيفية استخدام دالة sum() مع القوائم

لاستخدام sum() لحساب مجموع عناصر قائمة، ببساطة قم بتمرير القائمة كمعامل للدالة. دعونا نلقي نظرة على بعض الأمثلة العملية.

مثال 1: حساب مجموع قائمة من الأرقام الصحيحة

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


numbers = [1, 2, 3, 4, 5]
total = sum(numbers)

print('مجموع الأرقام هو:', total) # الناتج سيكون: مجموع الأرقام هو: 15

في هذا المثال، تقوم دالة sum() بحساب مجموع الأرقام 1، 2، 3، 4، و5، ليكون الناتج النهائي 15.

مثال 2: حساب مجموع قائمة تحتوي على أعداد عشرية

يمكن أيضًا استخدام sum() مع الأعداد العشرية (float) لحساب مجموعها.


numbers = [1.5, 2.5, 3.5, 4.5]
total = sum(numbers)

print('مجموع الأعداد العشرية هو:', total) # الناتج سيكون: مجموع الأعداد العشرية هو: 12.0

في هذا المثال، تقوم دالة sum() بحساب مجموع الأرقام العشرية 1.5، 2.5، 3.5، و4.5، ليكون الناتج 12.0.

استخدام معامل البدء مع sum()

تسمح دالة sum() باستخدام معامل إضافي لتحديد قيمة بدء جمع العناصر. هذا المعامل يتم تمريره كقيمة ثانية للدالة.

مثال 3: بدء الجمع من قيمة محددة


numbers = [1, 2, 3, 4, 5]
total = sum(numbers, 10)

print('مجموع الأرقام بدءًا من 10 هو:', total) # الناتج سيكون: مجموع الأرقام بدءًا من 10 هو: 25

في هذا المثال، يتم إضافة قيمة البدء 10 إلى مجموع الأرقام الموجودة في القائمة، ليكون الناتج 25.

حساب مجموع القيم في القوائم المتداخلة (Nested Lists)

قد تحتوي القوائم في Python على قوائم أخرى متداخلة. دالة sum() لا تعمل مباشرة مع القوائم المتداخلة، لذا تحتاج إلى تحويل القائمة إلى قائمة مسطحة (Flat List) قبل استخدام sum().

مثال 4: حساب مجموع القيم في قائمة متداخلة


nested_numbers = [[1, 2, 3], [4, 5], [6, 7, 8]]
flat_numbers = [num for sublist in nested_numbers for num in sublist]
total = sum(flat_numbers)

print('مجموع القيم في القائمة المتداخلة هو:', total) # الناتج سيكون: مجموع القيم في القائمة المتداخلة هو: 36

في هذا المثال، قمنا بتحويل القائمة المتداخلة إلى قائمة مسطحة باستخدام list comprehension، ثم استخدمنا sum() لحساب المجموع.

استخدام sum() مع الدوال المخصصة

يمكنك أيضًا استخدام sum() مع الدوال المخصصة لحساب مجموع القيم بناءً على شرط معين. على سبيل المثال، يمكنك جمع الأرقام التي تحقق شرطًا معينًا، مثل أن تكون الأرقام زوجية فقط.

مثال 5: حساب مجموع الأرقام الزوجية فقط


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_sum = sum(num for num in numbers if num % 2 == 0)

print('مجموع الأرقام الزوجية هو:', even_sum) # الناتج سيكون: مجموع الأرقام الزوجية هو: 30

في هذا المثال، استخدمنا list comprehension مع sum() لحساب مجموع الأرقام الزوجية فقط.

التعامل مع القوائم التي تحتوي على قيم غير عددية

عند استخدام sum() مع قوائم تحتوي على قيم غير عددية، مثل النصوص أو القيم الفارغة، ستواجه خطأً. لذلك من المهم التأكد من أن جميع القيم قابلة للجمع.

مثال 6: التعامل مع القيم غير العددية


mixed_list = [1, 2, 'ثلاثة', 4, 5]
try:
    total = sum(mixed_list)
    print('المجموع هو:', total)
except TypeError:
    print('خطأ: لا يمكن جمع القيم غير العددية')

في هذا المثال، تحتوي القائمة على قيمة نصية “ثلاثة”، مما يؤدي إلى حدوث خطأ من نوع TypeError عند محاولة حساب المجموع باستخدام sum().

متى نستخدم دالة sum()؟

دالة sum() تُعتبر أداة قوية وفعالة عند الحاجة إلى حساب مجموع الأرقام في قائمة أو سلسلة من القيم. سواء كنت تتعامل مع أعداد صحيحة، عشرية، أو حتى قوائم متداخلة، توفر sum() طريقة سريعة وسهلة للحصول على المجموع.

لكن من المهم الانتباه إلى أن دالة sum() تعمل فقط مع القيم العددية. لذلك تأكد من عدم وجود عناصر غير عددية في القائمة لتجنب الأخطاء.

الخلاصة

في Python، تعد دالة sum() أداة بسيطة لكنها قوية لحساب مجموع الأرقام في القوائم. من خلال أمثلة متعددة، استعرضنا كيفية استخدام sum() مع الأعداد الصحيحة والعشرية، القوائم المتداخلة، والدوال المخصصة. يمكنك أيضًا استخدام معامل البدء لتحديد قيمة البداية للجمع.

بفهمك لكيفية استخدام sum() بشكل صحيح، يمكنك تحسين أداء برامجك وتسهيل عمليات حساب المجموع بطريقة فعالة وبسيطة.