دالة Map
جزء من قسم Logic & Flow في رحلة Python على Coddy. الدرس 72 من 78.
تأخذ الدالة map() شيئين رئيسيين:
- دالة (تحتوي على تعليمات لما يجب فعله)
- تسلسلًا من العناصر (مثل قائمة أو أي مجموعة من العناصر)
ثم يطبّق تلك 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 → تجعله square function يساوي 1
- يدخل الرقم 2 → تجعله square function يساوي 4
- يدخل الرقم 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() مع أي مجموعة من العناصر - وليس الأرقام فقط. قد تكون سلاسل نصية، أو أي نوع آخر من البيانات تريد معالجته بالطريقة نفسها.
التحدي
سهلأنشئ دالة باسم convert_to_uppercase تتلقى قائمة من السلاسل النصية strings كوسيط. يجب أن تستخدم الدالة الدالة map() إلى جانب دالة lambda لتحويل كل سلسلة في القائمة إلى أحرف كبيرة. يجب أن تُرجع الدالة قائمة تحتوي على السلاسل النصية المكتوبة بأحرف كبيرة.
جرّب بنفسك
def convert_to_uppercase(strings):
# استخدم map() مع دالة lambda لتحويل السلاسل إلى أحرف كبيرة
# استبدل القائمة الفارغة أدناه بذلك التعبير
uppercase_strings = []
# أرجع قائمة السلاسل ذات الأحرف الكبيرة
return list(uppercase_strings)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوقتدرّب بنفسك: مترجم Python عبر الإنترنت