पायथन मानचित्र () इनपुट के रूप में दिए गए एक पुनरावृत्त के सभी आइटमों पर एक फ़ंक्शन लागू करता है। उदाहरण के लिए, एक पुनरावृत्त, एक सूची, एक टपल, एक सेट, एक शब्दकोश, एक स्ट्रिंग हो सकता है, और यह एक पुनरावृत्त मानचित्र वस्तु देता है। पायथन मैप () एक अंतर्निहित फ़ंक्शन है।
इस ट्यूटोरियल में, आप सीखेंगे:
- वाक्य - विन्यास:
- मानचित्र () फ़ंक्शन कैसे काम करता है?
- पायथन अंतर्निहित कार्यों के साथ मानचित्र () का उपयोग करना
- नक्शे का उपयोग () एक स्ट्रिंगर के रूप में एक इट्रेटर के साथ
- सूची संख्या के साथ मानचित्र () का उपयोग करना
- टपल के साथ मानचित्र () का उपयोग करना
- शब्दकोश के साथ मानचित्र () का उपयोग करना
- सेट के साथ मानचित्र () का उपयोग करना
- लैम्ब्डा फ़ंक्शन के साथ मानचित्र () का उपयोग करना
- नक्शे के अंदर कई इटरेटर का उपयोग करना () फ़ंक्शन
वाक्य - विन्यास:
map(function, iterator1,iterator2… iteratorN)
मापदंडों
यहाँ दो महत्वपूर्ण हैं
- फ़ंक्शन: नक्शे को दिए जाने वाला एक अनिवार्य कार्य, जो इट्रेटर में उपलब्ध सभी वस्तुओं पर लागू होगा।
- पुनरावृत्ति: एक पुनरावृत्त अनिवार्य वस्तु। यह एक सूची, टुपल आदि हो सकती है। आप मानचित्र () फ़ंक्शन के लिए कई पुनरावृत्त ऑब्जेक्ट पास कर सकते हैं।
प्रतिलाभ की मात्रा
मैप () फ़ंक्शन दिए गए फ़ंक्शन को इट्रेटर के अंदर सभी आइटम्स पर लागू करने जा रहा है और एक पुन: उपयोग करने योग्य मैप ऑब्जेक्ट अर्थात एक ट्यूपल, एक सूची, आदि को वापस करने जा रहा है।
मानचित्र () फ़ंक्शन कैसे काम करता है?
मानचित्र () फ़ंक्शन एक फ़ंक्शन और एक चलने योग्य ऑब्जेक्ट के रूप में दो इनपुट लेता है। मानचित्र () को दिया जाने वाला फ़ंक्शन एक सामान्य फ़ंक्शन है, और यह दिए गए पुनरावृत्त ऑब्जेक्ट में मौजूद सभी मूल्यों पर पुनरावृत्ति करेगा।
उदाहरण के लिए, विचार करें कि आपके पास संख्याओं की एक सूची है, और आप प्रत्येक संख्याओं का वर्ग ज्ञात करना चाहते हैं।
आउटपुट प्राप्त करें, हमें फ़ंक्शन की आवश्यकता है जो दिए गए नंबर के वर्ग को वापस कर देगा। समारोह निम्नानुसार होगा:
def square(n):return n*n
जिन वस्तुओं को हम वर्ग ढूंढना चाहते हैं, उनकी सूची इस प्रकार है:
my_list = [2,3,4,5,6,7,8,9]
अब हम my_list में प्रत्येक आइटम का वर्ग प्राप्त करने के लिए मानचित्र () पायथन अंतर्निहित फ़ंक्शन का उपयोग करते हैं।
अंतिम कोड इस प्रकार है:
def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))
आउटपुट:
मानचित्र के आउटपुट () फ़ंक्शन, जैसा कि आउटपुट में देखा जाता है, स्क्रीन पर प्रदर्शित एक मानचित्र ऑब्जेक्ट है <<ऑब्जेक्ट ऑब्जेक्ट 0x0000002C59601748> पर।
आपको अंतिम आउटपुट प्राप्त करने के लिए फॉर-लूप या लिस्ट () विधि का उपयोग करके मानचित्र से आउटपुट को पुनरावृत्त करना होगा। मैंने कोड में सूची () का उपयोग किया है जो दी गई सूची के अंदर मूल्यों को प्रदर्शित करता है।
इसलिए मानचित्र () फ़ंक्शन का उपयोग करते हुए, हम प्रत्येक नंबर के वर्ग को प्राप्त करने में सक्षम हैं। मैप को दी गई सूची [2,3,4,5,6,7,8,9] थी और फ़ंक्शन स्क्वायर () आउटपुट का उपयोग कर रही थी। नक्शे से () हमें मिला [4, 9, 16, 25, 36, 49, 64, 81]।
फ़ंक्शन मैप () सूची पर सभी आइटम पर फ़ंक्शन स्क्वायर () लागू करता है। उदाहरण के लिए, my_list चर और प्रत्येक संख्या के वर्ग के साथ सूची को अद्यतन करता है। अपडेटेड_लिस्ट वेरिएबल में स्टोर किया गया है।
पायथन अंतर्निहित कार्यों के साथ मानचित्र () का उपयोग करना
पायथन मानचित्र () फ़ंक्शन एक अंतर्निहित फ़ंक्शन है और इसका उपयोग पायथन में उपलब्ध अन्य अंतर्निहित कार्यों के साथ भी किया जा सकता है। उदाहरण में, हम पायथन राउंड () अंतर्निहित फ़ंक्शन का उपयोग करने जा रहे हैं जो दिए गए मानों को गोल करता है।
उदाहरण:
मेरे पास जो सूची है वह my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] है।
मुझे सूची में मौजूद प्रत्येक आइटम के लिए गोल मूल्यों की आवश्यकता है। हम राउंड () का उपयोग मैप के फ़ंक्शन के रूप में करेंगे ()।
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))
आउटपुट:
राउंड () फ़ंक्शन सूची में सभी आइटमों पर लागू होता है, और यह आउटपुट में दिखाए गए अनुसार सभी मानों के साथ एक सूची वापस करता है।
नक्शे का उपयोग () एक स्ट्रिंगर के रूप में एक इट्रेटर के साथ
हम एक स्ट्रिंग पर मानचित्र () का उपयोग भी कर सकते हैं। पायथन में, एक स्ट्रिंग एक सरणी की तरह काम करता है इसलिए हम इसे आसानी से मानचित्र () के अंदर उपयोग कर सकते हैं।
उदाहरण में, हमारे पास एक फ़ंक्शन 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)
आउटपुट:
सूची संख्या के साथ मानचित्र () का उपयोग करना
नक्शे में सूची के साथ काम करने के लिए () संख्याओं की एक सूची लेगा और सूची में प्रत्येक संख्या को 10 से गुणा करेगा।
हम जिस सूची का उपयोग करने जा रहे हैं, वह है: [2,3,4,5,6,7,8,9]। फ़ंक्शन myMapFunc () 10. के साथ दी गई संख्या को गुणा करने का ध्यान रखता है। फ़ंक्शन को सूची के साथ मैप करने के लिए दिया जाता है।
उदाहरण:
def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))
आउटपुट:
आउटपुट हम देखते हैं कि सूची में प्रत्येक संख्या है
10 से गुणा किया।
टपल के साथ मानचित्र () का उपयोग करना
पायल में एक टपल एक वस्तु है जिसमें अल्पविराम द्वारा अलग किए गए और गोल कोष्ठक में संलग्न आइटम हैं। उदाहरण में, हम स्ट्रिंग मूल्यों के साथ एक टपल लेंगे। जिस फ़ंक्शन का हम उपयोग करेंगे, वह अपरकेस को दिए गए मानों को बदल देगा।
उदाहरण:
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))
आउटपुट:
हमें जो आउटपुट मिलता है, वह टपल बैक होता है, जिसमें सभी वैल्यू अपरकेस में बदल जाते हैं।
शब्दकोश के साथ मानचित्र () का उपयोग करना
पायथन में एक शब्दकोश घुंघराले कोष्ठक ({}) का उपयोग करके बनाया गया है। चूंकि शब्दकोश एक पुनरावृत्त है, आप इसका उपयोग मानचित्र () फ़ंक्शन के अंदर कर सकते हैं। अब हम मानचित्र () फ़ंक्शन के अंदर एक इटैलर के रूप में एक शब्दकोश का उपयोग करते हैं।
उदाहरण के बाद नक्शे के अंदर शब्दकोश चलना का काम दिखाता है ()
def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))
आउटपुट:
सेट के साथ मानचित्र () का उपयोग करना
अजगर में सेट घुंघराले कोष्ठक (()) में वस्तुओं का एक अनियंत्रित संग्रह है। चूंकि सेट () भी एक पुनरावृत्ति है, आप इसका उपयोग मानचित्र () फ़ंक्शन के अंदर कर सकते हैं।
यहाँ नक्शे के अंदर एक पुनरावृत्त के रूप में सेट का उपयोग करने का एक कार्य उदाहरण है ()
def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))
आउटपुट:
लैम्ब्डा फ़ंक्शन के साथ मानचित्र () का उपयोग करना
पायथन में, अनाम कार्यों के निर्माण के लिए लैम्ब्डा अभिव्यक्तियों का उपयोग किया जाता है। जैसे ही आप सामान्य कार्यों को परिभाषित करने के लिए 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))
आउटपुट:
नक्शे के अंदर कई इटरेटर का उपयोग करना () फ़ंक्शन
उदाहरण 1: मानचित्र में दो सूची पुनरावृत्तियों को पास करना ()
आप एक ही समय में एक से अधिक पुनरावृत् तियाँ यानी सूची, टपल आदि सभी एक ही समय में मानचित्र () फ़ंक्शन पर भेज सकते हैं।
उदाहरण के लिए, यदि आप दो सूचियाँ जोड़ना चाहते हैं। वही नक्शा () फ़ंक्शन का उपयोग करके किया जा सकता है। हम दो सूचियों my_list1 और my_list2 का उपयोग करने जा रहे हैं।
नीचे दिए गए उदाहरण में, my_list1 में पहला आइटम my_list2 के पहले आइटम में जोड़ा गया है। फ़ंक्शन myMapFunc () my_list1 और my_list2 के आइटम में लेता है और दोनों का योग लौटाता है।
यहाँ मानचित्र () फ़ंक्शन का उपयोग करके दो दी गई सूचियों को जोड़ने का कार्य उदाहरण है।
def myMapFunc(list1, list2):return list1+list2my_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))
आउटपुट:
उदाहरण 2: एक टपल को पास करना और मानचित्र के लिए सूची सूची ()
हम मानचित्र () फ़ंक्शन में एक सूची और एक टुपल इटरेटर का उपयोग करने जा रहे हैं। फ़ंक्शन को मैप पर दिया गया है - myMapFunc () सूची और टपल से आइटम प्राप्त करेगा। आइटम एक अंडरस्कोर (_) के साथ जुड़ जाएंगे। काम का उदाहरण नीचे दिखाया गया है:
def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_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))
आउटपुट:
सारांश
- पायथन मैप () एक बिल्ट-इन फ़ंक्शन है जो इनपुट के रूप में दिए गए एक इटेरेटर के सभी आइटमों पर एक फ़ंक्शन लागू करता है। उदाहरण के लिए, एक पुनरावृत्त, एक सूची, एक टुपल, एक स्ट्रिंग, आदि हो सकता है और यह एक पुनरावृत्त मानचित्र वस्तु देता है।
- मैप () फ़ंक्शन दिए गए फ़ंक्शन को इट्रेटर के अंदर सभी आइटम्स पर लागू करने जा रहा है और एक पुन: उपयोग करने योग्य मैप ऑब्जेक्ट अर्थात एक ट्यूपल, एक सूची, आदि को वापस करने जा रहा है।
- पायथन मानचित्र () फ़ंक्शन एक अंतर्निहित फ़ंक्शन है और इसका उपयोग पायथन में उपलब्ध अन्य अंतर्निहित कार्यों के साथ भी किया जा सकता है।
- पायल में एक टपल एक वस्तु है जिसमें अल्पविराम द्वारा अलग किए गए और गोल कोष्ठक में संलग्न आइटम हैं। उदाहरण में स्ट्रिंग मानों के साथ एक टपल लेगा। जिस फ़ंक्शन का हम उपयोग करेंगे, वह अपरकेस को दिए गए मानों को बदल देगा।
- पायथन में एक शब्दकोश घुंघराले कोष्ठक ({}) का उपयोग करके बनाया गया है। चूंकि शब्दकोश एक पुनरावृत्त है, आप इसका उपयोग मानचित्र () फ़ंक्शन के अंदर कर सकते हैं।
- अजगर में सेट घुंघराले कोष्ठक (()) में वस्तुओं का एक अनियंत्रित संग्रह है। चूंकि सेट () भी एक पुनरावृत्ति है, आप इसका उपयोग मानचित्र () फ़ंक्शन के अंदर कर सकते हैं।
- पायथन में, अनाम कार्यों के निर्माण के लिए लैम्ब्डा एक्सप्रेशन (या लैम्ब्डा फॉर्म्स) का उपयोग किया जाता है। तो लैम्बडा कीवर्ड का उपयोग तब करना होता है जब आप मैप के अंदर लैम्बडा का उपयोग करना चाहते हैं ()।
- आप एक से अधिक पुनरावृत्ति यानी एक सूची, नक्शे के लिए एक ट्यूपल () फ़ंक्शन भेज सकते हैं।