الدالة map()‎ في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تعيد الدّالة map()‎ مُكرّرًا (iterator) يُطبّق الدّالة المُعطاة على كل عنصر من عناصر الكائن القابل للتّكرار المُعطى وتعاد نتيجة الاستدعاء في كلّ مرّة.

البنية العامة

map(function, iterable, ...)

المعاملات

function

الدّالة المرغوب تطبيقها على كلّ عنصر من عناصر المُعامل iterable.

iterable

الكائن القابل للتّكرار المُراد استدعاء الدّالة function على كلّ عنصر من عناصره. يُمكن كذلك تمرير أكثر من كائن واحد قابل للتّكرار، وإن كان الأمر كذلك، فستُطبّق الدّالة على كلّ عنصر من عناصر الكائنات القابلة للتّكرار على التّوازي، وسيتوقّف المُكرّر النّاتج عندما ينتهي الوصول إلى عناصر أقصر كائن قابل للتّكرار.

القيمة المعادة

مُكرّر تكون عناصره هي نتائج استدعاء الدّالة على كلّ عنصر من عناصر الكائن القابل للتّكرار المُعطى.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة مع كائن واحد قابل للتّكرار:

>>> def add_one(number): # دالّة تُضيف واحدًا للمُعامل المُعطى
...     return number + 1
... 
>>> nums = map(add_one, [1, 2, 3, 4]) # تطبيق الدّالة على كلّ عنصر من عناصر القائمة
>>> list(nums) # النّتيجة قائمة من الأعداد مُزادةً بواحد
[2, 3, 4, 5]

المثال التّالي يُوضّح كيفيّة عمل الدّالة عند تمرير أكثر من كائن واحد قابل للتّكرار:

>>> def add(x, y): # دالّة تُضيف عددين
...     return x + y
... 
>>> nums = map(add, [1, 2, 3, 4], [1, 2, 3, 4]) # تطبيق الدّالة على قائمتي أعداد
>>> list(nums) # النّتيجة هي نتيجة استدعاء الدّالة مع تمرير عنصر واحد من كلّ قائمة
[2, 4, 6, 8]

انظر أيضًا

  • الدالة zip()‎: تعيد مُكرّرًا يُركّب عناصر كلّ من الكائنات القابلة للتّكرار المُعطاة.
  • الدالة filter()‎: تعيد مُكرّرًا (iterator) من عناصر الكائن القابل للتكرار المُعطى حسب شرطٍ تُحدّده الدّالة المُعطاة. وتُستخدم لترشيح عناصر الكائن القابل للتّكرار.

مصادر