في هذا البرنامج التعليمي ، ستتعلم كيفية استخدام وظيفة Python map () لتطبيق دالة على جميع الكائنات في ملف قابل للتكرار.
تدعم Python نموذج البرمجة الوظيفية ، والذي يسمح لك بتحديد المهام مثل حساب الوظائف برمجيًا. يمكنك التعامل مع وظائف Python ككائنات: يمكن أن تأخذ الوظيفة وظيفة أخرى كمعامل وتعيد وظيفة أخرى.
تأخذ وظيفة map () وظيفة كوسيطة وتسمح لك بتطبيقها على جميع الكائنات في تسلسل.
بنهاية هذا البرنامج التعليمي ، ستتمكن من استخدام وظيفة خريطة Python – لإعادة كتابة الحلقات المطولة وطرق عرض القائمة. سوف تكوّن عدة أمثلة لفهم الطرق المختلفة التي يمكنك من خلالها استخدام وظيفة map ().
كيفية تطبيق دالة على عناصر قائمة بايثون
لنبدأ مناقشتنا بمثال
هنا ، الأعداد هي قائمة بالأرقام.
عدد = [2,4,3,7]
بعد ذلك ، ضع في اعتبارك وظيفة self_pow (). تأخذ الدالة self_pow () رقمًا كوسيطة وتعيد الرقم المرفوع إلى قوة الرقم: n ** n.
في بايثون ، ** هي عامل الأُس. تُرجع a ** b قيمة a مرفوعة إلى الأس b ، ab.
def self_pow (n): إرجاع n ** n
ما يجب القيام به: لإنشاء قائمة جديدة nums_pow من خلال تطبيق وظيفة self_pow () على كل عنصر في قائمة nums.
تستخدم للحلقة
للقيام بذلك ، يمكنك استخدام حلقات for في بايثون:
nums_pow = []
للأرقام بالأرقام: nums_pow.append (self_pow (num)) print (nums_pow)
في الإخراج ، يتم رفع كل رقم إلى نفسه. عناصر قائمة nums_pow هي كما يلي: 22، 44، 33،77.
انتاج |
[4, 256, 27, 823543]
استخدام قائمة الفهم
يمكنك القيام بذلك بإيجاز باستخدام قوائم الفهم. من حلقة for الصريحة أعلاه ، يمكننا تحديد تعبير الإخراج والقائمة المراد تجاوزها.
يمكننا بعد ذلك تعديل تعبير فهم القائمة العامة:
new_list = [
يكون تعبير list comprehension لتوليد nums_pow كما يلي:
nums_pow = [self_pow(num) for num in nums]
طباعة (nums_pow)
الإخراج هو نفسه من استخدام حلقات for ، كما هو متوقع.
انتاج |
[4, 256, 27, 823543]
بدلاً من التكرار الحلقي والقائمة ، يمكنك استخدام وظيفة Python map () بتركيبة موجزة وتساعد على تطبيق الوظيفة على جميع الكائنات في التكرار. لنبدأ بتعلم بناء جملة وظيفة الخريطة.
خريطة بايثون () بناء الجملة
الصيغة العامة لاستخدام وظيفة خريطة بايثون () هي كما يلي:
الخريطة (وظيفة ، iterable_1 ،[iterable_2,…,iterable_n])
تأخذ الدالة map () وسيطتين على الأقل ، دالة وقابلة للتكرار.
في النحو أعلاه:
ماذا ترجع الدالة map ()؟
تقوم بإرجاع كائن الخريطة. يمكنك بعد ذلك تحويل كائن الخريطة إلى قائمة باستخدام الصيغة: list (map (function، iterable)).
اعتمادًا على حالة الاستخدام ، يمكنك تحويلها إلى مجموعة Python.
الآن بعد أن تعلمت بناء جملة دالة خريطة Python () ، فلنبدأ في أمثلة الترميز.
يجب أن يكون لديك Python 3.x لمتابعة هذا البرنامج التعليمي. خلاف ذلك ، يمكنك تشغيل المقتطفات في adminvista.com عبر الإنترنت محرر Python.
كيفية استخدام وظيفة map () مع وظائف محددة من قبل المستخدم
# 1. في السابق ، قمنا بتطبيق دالة self_pow () على كل رقم في قائمة الأعداد. في صيغة الدالة map () ، يمكننا تمرير الدالة self_pow و listnums كوسائط.
ملاحظة: يجب عليك فقط تحديد اسم الوظيفة وليس استدعاء الوظيفة. استخدم self_pow وليس self_pow ().
تقوم الدالة map () بإرجاع كائن الخريطة.
طباعة (خريطة (self_pow ، أرقام))