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

دالة Map

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

تأخذ الدالة map() شيئين رئيسيين:

  1. دالة (تحتوي على تعليمات لما يجب فعله)
  2. تسلسلًا من العناصر (مثل قائمة أو أي مجموعة من العناصر)

ثم يطبّق تلك function على كل عنصر في تسلسلك، عنصرًا تلو الآخر، ويعيد إليك جميع النتائج.

على سبيل المثال:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # هذه مجرد قائمة من الأرقام
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# المخرجات: [1, 4, 9, 16, 25]

ما الذي حدث هنا:

  • لدينا قائمة من الأرقام: [1, 2, 3, 4, 5]
  • تأخذ الدالة map() كل رقم، واحدًا تلو الآخر
  • تمرّر كل رقم إلى دالتنا square
  • تجمع جميع النتائج بالترتيب

يمكنك التفكير في الأمر مثل خطّ تجميع:

  1. يدخل الرقم 1 → تجعله square function يساوي 1
  2. يدخل الرقم 2 → تجعله square function يساوي 4
  3. يدخل الرقم 3 → تجعله square function يساوي 9 وهكذا...

يمكنك أيضًا استخدام lambda function بدلًا من تعريف function منفصلة:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# المخرجات: [1, 4, 9, 16, 25]

تعمل الدالة map() مع أي مجموعة من العناصر - وليس الأرقام فقط. قد تكون سلاسل نصية، أو أي نوع آخر من البيانات تريد معالجته بالطريقة نفسها.

challenge icon

التحدي

سهل

أنشئ دالة باسم convert_to_uppercase تتلقى قائمة من السلاسل النصية strings كوسيط. يجب أن تستخدم الدالة الدالة map() إلى جانب دالة lambda لتحويل كل سلسلة في القائمة إلى أحرف كبيرة. يجب أن تُرجع الدالة قائمة تحتوي على السلاسل النصية المكتوبة بأحرف كبيرة.

جرّب بنفسك

def convert_to_uppercase(strings):
    # استخدم map() مع دالة lambda لتحويل السلاسل إلى أحرف كبيرة
    # استبدل القائمة الفارغة أدناه بذلك التعبير
    uppercase_strings = []
    
    # أرجع قائمة السلاسل ذات الأحرف الكبيرة
    return list(uppercase_strings)
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow

تدرّب بنفسك: مترجم Python عبر الإنترنت