Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

استخدام تجميع البيانات

جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 53 من 78.

توفر ميزة فهم القوائم (List comprehensions) طريقة موجزة لإنشاء قوائم جديدة بناءً على كائنات قابلة للتكرار (iterables) موجودة. يمكنك دمج دوال تجميع البيانات مثل sum() و min() و max() مباشرةً داخل فهم القوائم لإجراء حسابات على عناصر القائمة الجديدة أثناء إنشائها.

حساب مجموع المربعات:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
print(sum_of_squares)
# الناتج: 55

في هذا المثال، يقوم تعبير القائمة (list comprehension) [n * n for n in numbers] بإنشاء قائمة من المربعات، وتقوم الدالة sum() بحساب مجموع هذه المربعات.

إيجاد القيمة الصغرى للقيم المحولة:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
print(min_absolute)
# المخرج: 0

هنا، يقوم استيعاب القائمة [abs(n) for n in numbers] بإنشاء قائمة من القيم المطلقة، وتجد الدالة min() القيمة الصغرى في هذه القائمة.

إيجاد القيمة القصوى للقيم التي تمت تصفيتها:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
print(max_even)
# المخرجات: 6

في هذا المثال، يقوم تعبير القائمة (list comprehension) [n for n in numbers if n % 2 == 0] بإنشاء قائمة بالأرقام الزوجية، وتجد الدالة max() القيمة العظمى في هذه القائمة.

challenge icon

التحدي

سهل

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

مثال للمدخلات:

numbers = [-10, -5, 0, 2, 4, 7, 10, 12]

مثال للمخرجات:

28

ورقة مرجعية

يمكن دمج فهم القوائم (List comprehensions) مع دوال التجميع مثل sum() و min() و max() لإجراء عمليات حسابية على البيانات المحولة أو المصفاة.

حساب مجموع المربعات:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
# Output: 55

إيجاد القيمة الصغرى للقيم المحولة:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
# Output: 0

إيجاد القيمة الكبرى للقيم المصفاة:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
# Output: 6

جرّب بنفسك

def sum_positive_evens(numbers):
    # اكتب الكود هنا
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow