Python map() फ़ंक्शन उदाहरणों के साथ

Python map() इनपुट के रूप में दिए गए इटरेटर के सभी आइटम पर एक फ़ंक्शन लागू करता है। उदाहरण के लिए, एक इटरेटर एक सूची, एक टपल, एक सेट, एक शब्दकोश, एक स्ट्रिंग हो सकता है, और यह एक पुनरावृत्त मानचित्र ऑब्जेक्ट लौटाता है। Python map() एक अंतर्निहित फ़ंक्शन है.

वाक्य - विन्यास

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

पैरामीटर्स

यहाँ दो महत्वपूर्ण बातें हैं

  • फ़ंक्शन: मैप को दिया जाने वाला एक अनिवार्य फ़ंक्शन, जो इटरेटर में उपलब्ध सभी आइटमों पर लागू होगा।
  • इटरेटर: एक पुनरावृत्तीय अनिवार्य ऑब्जेक्ट। यह एक सूची, एक टपल आदि हो सकता है। आप map() फ़ंक्शन में कई इटरेटर ऑब्जेक्ट पास कर सकते हैं।

प्रतिलाभ की मात्रा

map() फ़ंक्शन दिए गए फ़ंक्शन को इटरेटर के अंदर सभी आइटम पर लागू करेगा और एक पुनरावृत्त मैप ऑब्जेक्ट, अर्थात् एक टपल, एक सूची, आदि लौटाएगा।

map() फ़ंक्शन कैसे काम करता है?

map() फ़ंक्शन एक फ़ंक्शन और एक पुनरावृत्त ऑब्जेक्ट के रूप में दो इनपुट लेता है। map() को दिया गया फ़ंक्शन एक सामान्य फ़ंक्शन है, और यह दिए गए पुनरावृत्त ऑब्जेक्ट में मौजूद सभी मानों पर पुनरावृत्त होगा।

उदाहरण के लिए, मान लीजिए कि आपके पास संख्याओं की एक सूची है, और आप प्रत्येक संख्या का वर्ग ज्ञात करना चाहते हैं।

आउटपुट पाने के लिए, हमें ऐसे फ़ंक्शन की ज़रूरत है जो दी गई संख्या का वर्ग लौटाए। फ़ंक्शन इस प्रकार होगा:

def square(n):
	return n*n

जिन वस्तुओं का वर्ग हम ज्ञात करना चाहते हैं उनकी सूची इस प्रकार है:

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

अब आइए my_list में प्रत्येक आइटम का वर्ग प्राप्त करने के लिए python अंतर्निहित फ़ंक्शन map() का उपयोग करें।

अंतिम कोड इस प्रकार है:

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-loop या list() विधि का उपयोग करके मैप से आउटपुट को पुनरावृत्त करना होगा। मैंने कोड में list() का उपयोग किया है जो दी गई सूची के अंदर मान प्रदर्शित करता है।

इसलिए map() फ़ंक्शन का उपयोग करके, हम प्रत्येक संख्या का वर्ग प्राप्त करने में सक्षम हैं। map को दी गई सूची [2,3,4,5,6,7,8,9] थी और फ़ंक्शन square() का उपयोग करके map() से हमें जो आउटपुट मिला वह [4, 9, 16, 25, 36, 49, 64, 81] है।

फ़ंक्शन map() सूची में सभी आइटम पर फ़ंक्शन square() लागू करता है। उदाहरण के लिए, my_list वैरिएबल और प्रत्येक संख्या के वर्ग के साथ सूची को अपडेट करता है। आउट updated_list वैरिएबल में संग्रहीत किया जाता है।

map() का उपयोग करना Python अंतर्निहित कार्य

Python map() फ़ंक्शन एक अंतर्निहित फ़ंक्शन है और इसका उपयोग अन्य उपलब्ध अंतर्निहित फ़ंक्शनों के साथ भी किया जा सकता है Pythonउदाहरण में, हम इसका उपयोग करने जा रहे हैं Python round() एक अंतर्निहित फ़ंक्शन है जो दिए गए मानों को पूर्णांकित करता है।

उदाहरण:

मेरे पास जो सूची है वह है my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] ।

मुझे सूची में मौजूद प्रत्येक आइटम के लिए राउंडेड मान की आवश्यकता है। हम map() के लिए फ़ंक्शन के रूप में 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() फ़ंक्शन सूची में सभी आइटमों पर लागू होता है, और यह आउटपुट में दिखाए अनुसार सभी मानों को गोल करके एक सूची लौटाता है।

स्ट्रिंग को इटरेटर के रूप में लेकर map() का उपयोग करना

हम स्ट्रिंग पर map() का भी उपयोग कर सकते हैं। Pythonएक स्ट्रिंग एक सरणी की तरह कार्य करती है इसलिए हम इसे आसानी से map() के अंदर उपयोग कर सकते हैं।

उदाहरण में, हमारे पास एक फ़ंक्शन myMapFunc() है जो दिए गए स्ट्रिंग को अपरकेस में बदलने का ध्यान रखता है। फ़ंक्शन myMapFunc() को map() फ़ंक्शन को दिया गया है। मैप फ़ंक्शन स्ट्रिंग को 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!

listof के साथ map() का उपयोग करना Numbers

सूची के साथ कार्य करने के लिए map() संख्याओं की एक सूची लेगा तथा सूची में प्रत्येक संख्या को 10 से गुणा करेगा।

हम जिस सूची का उपयोग करने जा रहे हैं वह है: [2,3,4,5,6,7,8,9]। फ़ंक्शन myMapFunc () दी गई संख्या को 10 से गुणा करने का ध्यान रखता है। फ़ंक्शन सूची के साथ मैप करने के लिए दिया गया है।

उदाहरण:

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 से गुणा किया गया।

टपल के साथ map() का उपयोग करना

टपल एक ऑब्जेक्ट है 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']

हमें जो आउटपुट मिलता है वह एक ट्यूपल होता है जिसमें सभी मान अपरकेस में परिवर्तित हो जाते हैं।

शब्दकोश के साथ map() का उपयोग करना

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]

सेट के साथ map() का उपयोग करना

शुरु होना Python कर्ली ब्रैकेट्स(()) में आइटम्स का एक अव्यवस्थित संग्रह है। चूंकि set() भी एक इटरेटर है, इसलिए आप इसका उपयोग map() फ़ंक्शन के अंदर कर सकते हैं।

यहाँ 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]

लैम्ब्डा फ़ंक्शन के साथ map() का उपयोग करना

In Python, लैम्ब्डा एक्सप्रेशन का उपयोग अनाम फ़ंक्शन बनाने के लिए किया जाता है। आपको लैम्ब्डा कीवर्ड का उपयोग उसी तरह करना होगा जैसे आप सामान्य फ़ंक्शन को परिभाषित करने के लिए def का उपयोग करते हैं।

तो उदाहरण में, हम map() के अंदर lambda फ़ंक्शन का उपयोग करने जा रहे हैं। lambda फ़ंक्शन सूची में प्रत्येक मान को 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]

map() फ़ंक्शन के अंदर एकाधिक इटरेटर्स का उपयोग करना

उदाहरण 1: map() में दो सूची पुनरावर्तक पास करना

आप map() फ़ंक्शन पर एक से अधिक इटरेटर्स, जैसे सूची, टपल आदि, एक ही समय में भेज सकते हैं।

उदाहरण के लिए, यदि आप दो सूचियाँ जोड़ना चाहते हैं। वही काम map() फ़ंक्शन का उपयोग करके किया जा सकता है। हम दो सूचियों my_list1 और my_list2 का उपयोग करने जा रहे हैं।

नीचे दिए गए उदाहरण में, my_list1 में पहला आइटम my_list2 के पहले आइटम में जोड़ा गया है। फ़ंक्शन myMapFunc() my_list1 और my_list2 के आइटम लेता है और दोनों का योग लौटाता है।

यहां map() फ़ंक्शन का उपयोग करके दो दी गई सूचियों को जोड़ने का कार्यशील उदाहरण दिया गया है।

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: map() में एक टपल और एक सूची इटरेटर पास करना

हम map() फ़ंक्शन में एक सूची और एक टपल इटरेटर का उपयोग करने जा रहे हैं। फ़ंक्शन map को दिया गया है – myMapFunc() सूची और टपल से आइटम प्राप्त करेगा। आइटम को अंडरस्कोर(_) के साथ जोड़ा जाएगा। काम करने का उदाहरण नीचे दिखाया गया है:

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() एक अंतर्निहित फ़ंक्शन है जो इनपुट के रूप में दिए गए इटरेटर के सभी आइटम पर फ़ंक्शन लागू करता है। उदाहरण के लिए, एक इटरेटर एक सूची, एक टपल, एक स्ट्रिंग आदि हो सकता है और यह एक पुनरावृत्त मानचित्र ऑब्जेक्ट लौटाता है।
  • map() फ़ंक्शन दिए गए फ़ंक्शन को इटरेटर के अंदर सभी आइटम पर लागू करेगा और एक पुनरावृत्त मैप ऑब्जेक्ट, अर्थात् एक टपल, एक सूची, आदि लौटाएगा।
  • Python map() फ़ंक्शन एक अंतर्निहित फ़ंक्शन है और इसका उपयोग अन्य उपलब्ध अंतर्निहित फ़ंक्शनों के साथ भी किया जा सकता है Python.
  • टपल एक ऑब्जेक्ट है Python जिसमें आइटम कॉमा से अलग किए गए हैं और गोल कोष्ठक में संलग्न हैं। उदाहरण में स्ट्रिंग मानों के साथ एक टपल लिया जाएगा। हम जिस फ़ंक्शन का उपयोग करेंगे, वह दिए गए मानों को अपरकेस में बदल देगा।
  • एक शब्दकोष Python कर्ली ब्रैकेट्स ({}) का उपयोग करके बनाया गया है। चूँकि डिक्शनरी एक इटरेटर है, इसलिए आप इसका उपयोग map() फ़ंक्शन के अंदर कर सकते हैं।
  • शुरु होना Python कर्ली ब्रैकेट्स(()) में आइटम्स का एक अव्यवस्थित संग्रह है। चूंकि set() भी एक इटरेटर है, इसलिए आप इसका उपयोग map() फ़ंक्शन के अंदर कर सकते हैं।
  • In Python, लैम्ब्डा एक्सप्रेशन (या लैम्ब्डा फॉर्म) का उपयोग अनाम फ़ंक्शन बनाने के लिए किया जाता है। इसलिए जब आप मैप() के अंदर लैम्ब्डा का उपयोग करना चाहते हैं तो लैम्ब्डा कीवर्ड का उपयोग करना होगा।
  • आप map() फ़ंक्शन पर एक से अधिक इटरेटर्स, जैसे कि एक सूची, एक टपल, भेज सकते हैं।