Python وظيفة الخريطة () مع الأمثلة

Python يطبق Map() دالة على كافة عناصر المكرر المقدمة كمدخل. المكرِّر، على سبيل المثال، يمكن أن يكون قائمة، أو صفًا، أو مجموعة، أو قاموسًا، أو سلسلة، ويقوم بإرجاع كائن خريطة قابل للتكرار. Python Map () هي وظيفة مضمنة.

بناء الجملة

map(function, iterator1,iterator2 ...iteratorN)

المعلمات

وهنا نوعان مهمان

  • الوظيفة: وظيفة إلزامية يتم إعطاؤها للخريطة، وسيتم تطبيقها على جميع العناصر المتوفرة في المُكرِّر.
  • المكرر: كائن إلزامي قابل للتكرار. يمكن أن تكون قائمة أو صفًا أو ما إلى ذلك. يمكنك تمرير كائنات مكررة متعددة إلى وظيفة الخريطة ().

قيمة الإرجاع

ستقوم وظيفة الخريطة () بتطبيق الوظيفة المحددة على جميع العناصر الموجودة داخل المكرر وإرجاع كائن خريطة قابل للتكرار، مثل صف أو قائمة وما إلى ذلك.

كيف تعمل وظيفة الخريطة ()؟

تأخذ الدالة Map() مدخلين كدالة وكائن قابل للتكرار. الوظيفة المعطاة للخريطة () هي وظيفة عادية، وسوف تتكرر على جميع القيم الموجودة في الكائن القابل للتكرار المحدد.

على سبيل المثال، لنفترض أن لديك قائمة من الأرقام، وتريد إيجاد مربع كل رقم.

للحصول على الإخراج، نحتاج إلى الدالة التي ستعيد مربع الرقم المحدد. ستكون الوظيفة كما يلي:

def square(n):
	return n*n

قائمة العناصر التي نريد العثور على المربع هي كما يلي:

my_list = [2,3,4,5,6,7,8,9]

الآن دعونا نستخدم وظيفة Map() python المضمنة للحصول على مربع كل عنصر من العناصر الموجودة في my_list.

الكود النهائي هو كما يلي:

def square(n):
    return n*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]

إن مخرجات دالة map()، كما هو موضح في المخرجات، هي عبارة عن كائن خريطة معروض على الشاشة كـ .

سيتعين عليك تكرار الإخراج من الخريطة باستخدام حلقة for أو باستخدام طريقة list() للحصول على الإخراج النهائي. لقد استخدمت list() في الكود الذي يعرض القيم داخل القائمة المقدمة.

لذلك باستخدام الدالة Map()، نحن قادرون على الحصول على مربع كل رقم. وكانت القائمة المعطاة للخريطة [2,3,4,5,6,7,8,9،4،9،16،25،36،49،64] وباستخدام الدالة Square() الإخراج من الخريطة () حصلنا على [81، XNUMX، XNUMX، XNUMX، XNUMX، XNUMX، XNUMX، XNUMX] .

تقوم الدالة Map() بتطبيق الدالة Square() على كافة العناصر الموجودة في القائمة. على سبيل المثال، متغير my_list ويقوم بتحديث القائمة بمربع كل رقم. يتم تخزين الخروج في متغير Update_list.

باستخدام الخريطة () مع Python وظائف مدمجة

Python وظيفة Map() هي وظيفة مضمنة ويمكن استخدامها أيضًا مع الوظائف المضمنة الأخرى المتوفرة في Python. في المثال سوف نستخدم Python round() دالة مدمجة تقوم بتقريب القيم المعطاة.

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

القائمة التي لدي هي my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .

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

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]
updated_list = map(round, my_list)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]

يتم تطبيق الدالة round() على كافة العناصر الموجودة في القائمة، وتقوم بإرجاع قائمة بجميع القيم المقربة كما هو موضح في الإخراج.

استخدام الخريطة () مع سلسلة كمكرر

يمكننا أيضًا الاستفادة من الخريطة () على سلسلة. في Python، تعمل السلسلة كمصفوفة حتى نتمكن من استخدامها بسهولة داخل الخريطة ().

في المثال، لدينا دالة myMapFunc() التي تهتم بتحويل السلسلة المعطاة إلى أحرف كبيرة. يتم إعطاء الدالة myMapFunc () إلى وظيفة الخريطة (). ستهتم وظيفة الخريطة بتحويل السلسلة المعطاة إلى أحرف كبيرة عن طريق تمرير السلسلة إلى myMapFunc ().

def myMapFunc(s):
    return s.upper()
my_str = "welcome to guru99 tutorials!"
updated_list = map(myMapFunc, my_str)
print(updated_list)
for i in updated_list:
    print(i, end="")

الإخراج:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

باستخدام الخريطة () مع قائمة Numbers

للعمل مع القائمة في map() سنقوم بأخذ قائمة من الأرقام وضرب كل رقم في القائمة بـ 10.

القائمة التي سنستخدمها هي: [2,3,4,5,6,7,8,9،10،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX]. تعتني الدالة myMapFunc () بضرب الرقم المحدد بـ XNUMX. يتم تعيين الوظيفة مع القائمة.

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

def myMapFunc(n):
    return n*10

my_list = [2,3,4,5,6,7,8,9]

updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

الإخراج الذي نراه هو أن كل رقم في القائمة هو

مضروبة في 10.

باستخدام الخريطة () مع Tuple

Tuple هو كائن في Python يحتوي على عناصر مفصولة بفواصل ومحاطة بأقواس دائرية. في المثال، سنأخذ مجموعة تحتوي على قيم سلسلة. ستقوم الدالة التي سنستخدمها بتحويل القيم المعطاة إلى أحرف كبيرة.

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

def myMapFunc(n):
    return n.upper()

my_tuple = ('php','java','python','c++','c')

updated_list = map(myMapFunc, my_tuple)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

الناتج الذي نحصل عليه هو عبارة عن صف خلفي مع تحويل جميع القيم الموجودة فيه إلى أحرف كبيرة.

استخدام الخريطة () مع القاموس

A القاموس في Python يتم إنشاؤه باستخدام الأقواس المتعرجة ({}). نظرًا لأن القاموس عبارة عن مُكرر، فيمكنك الاستفادة منه داخل دالة map(). دعنا الآن نستخدم القاموس كمُكرر داخل دالة map().

يوضح المثال التالي عمل مُكرر القاموس داخل map()

def myMapFunc(n):
    return n*10
my_dict = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_dict)
print(finalitems)
print(list(finalitems))

الإخراج:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

باستخدام الخريطة () مع Set

اجلس هنا Python هي مجموعة غير مرتبة من العناصر الموجودة بين قوسين متعرجين ()). ونظرًا لأن set() هي أيضًا متكررة، فيمكنك الاستفادة منها داخل دالة map().

فيما يلي مثال عملي لاستخدام set كمكرر داخل الخريطة ()

def myMapFunc(n):
    return n*10
my_set = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_set)
print(finalitems)
print(list(finalitems))

الإخراج:

<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

استخدام الخريطة () مع وظيفة لامدا

In Python، يتم استخدام تعبيرات لامدا لإنشاء وظائف مجهولة. سيتعين عليك استخدام الكلمة الأساسية lambda تمامًا كما تستخدم def لتحديد الوظائف العادية.

لذلك، في هذا المثال، سنستخدم دالة لامدا داخل الخريطة (). ستقوم دالة لامدا بضرب كل قيمة في القائمة بـ 10.

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

my_list = [2,3,4,5,6,7,8,9]
updated_list = map(lambda x: x * 10, my_list)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]

استخدام التكرارات المتعددة داخل وظيفة الخريطة ().

المثال 1: تمرير مكرري القائمة إلى الخريطة ()

يمكنك إرسال أكثر من مكرر واحد، أي قائمة أو صف أو ما إلى ذلك، كل ذلك في نفس الوقت إلى وظيفة الخريطة ().

على سبيل المثال، إذا كنت تريد إضافة قائمتين. ويمكن القيام بنفس الشيء باستخدام وظيفة الخريطة (). سنستخدم القائمتين my_list1 وmy_list2.

في المثال أدناه، تتم إضافة العنصر الأول في my_list1 إلى العنصر الأول في my_list2. تأخذ الدالة myMapFunc() عناصر من my_list1 وmy_list2 وترجع مجموع كليهما.

فيما يلي مثال عملي لإضافة قائمتين محددتين باستخدام وظيفة الخريطة ().

def myMapFunc(list1, list2):
    return list1+list2

my_list1 = [2,3,4,5,6,7,8,9]
my_list2 = [4,8,12,16,20,24,28]

updated_list = map(myMapFunc, my_list1,my_list2)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

المثال 2: تمرير Tuple واحد ومكرر القائمة إلى Map()

سنستفيد من القائمة ومكرر الصف في وظيفة الخريطة (). يتم إعطاء الوظيفة للخريطة - سيحصل myMapFunc () على العناصر من القائمة وTuple. سيتم ربط العناصر بشرطة سفلية (_). مثال العمل كما هو موضح أدناه:

def myMapFunc(list1, tuple1):
    return list1+"_"+tuple1

my_list = ['a','b', 'b', 'd', 'e']
my_tuple = ('PHP','Java','Python','C++','C')

updated_list = map(myMapFunc, my_list,my_tuple)
print(updated_list)
print(list(updated_list))

الإخراج:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

الملخص

  • Python Map () هي وظيفة مضمنة تطبق وظيفة على جميع عناصر المكرر المقدمة كمدخلات. المكرِّر، على سبيل المثال، يمكن أن يكون قائمة، أو صفًا، أو سلسلة، وما إلى ذلك، ويقوم بإرجاع كائن خريطة قابل للتكرار.
  • ستقوم وظيفة الخريطة () بتطبيق الوظيفة المحددة على جميع العناصر الموجودة داخل المكرر وإرجاع كائن خريطة قابل للتكرار، مثل صف أو قائمة وما إلى ذلك.
  • Python وظيفة Map() هي وظيفة مضمنة ويمكن استخدامها أيضًا مع الوظائف المضمنة الأخرى المتوفرة في Python.
  • Tuple هو كائن في Python يحتوي على عناصر مفصولة بفواصل ومحاطة بأقواس دائرية. في المثال، سنأخذ مجموعة من القيم النصية. ستقوم الدالة التي سنستخدمها بتحويل القيم المعطاة إلى أحرف كبيرة.
  • قاموس بلغة Python يتم إنشاؤه باستخدام الأقواس المتعرجة ({}). نظرًا لأن القاموس عبارة عن مُكرر، فيمكنك الاستفادة منه داخل دالة map().
  • اجلس هنا Python هي مجموعة غير مرتبة من العناصر الموجودة بين قوسين متعرجين ()). ونظرًا لأن set() هي أيضًا متكررة، فيمكنك الاستفادة منها داخل دالة map().
  • In Python، يتم استخدام تعبيرات لامدا (أو نماذج لامدا) لإنشاء وظائف مجهولة. لذلك يجب استخدام الكلمة الأساسية lambda عندما تريد استخدام lambda داخل الخريطة ().
  • يمكنك إرسال أكثر من مكرر واحد، أي قائمة أو صف إلى وظيفة الخريطة ().